安装软件包命令:
一、rpm -i 命令
[[email protected] Packages]# rpm -i vsftpd-3.0.2-22.el7.x86_64.rpm
警告:vsftpd-3.0.2-22.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
查看软件包的详细信息:
[[email protected] Packages]# rpm -qi vsftpd
Name : vsftpd
Version : 3.0.2
Release : 22.el7
Architecture: x86_64
Install Date: 2017年11月02日 星期四 06时08分55秒
Group : System Environment/Daemons
Size : 356236
License : GPLv2 with exceptions
Signature : RSA/SHA256, 2017年08月11日 星期五 04时17分26秒, Key ID 24c6a8a7f4a80eb5
Source RPM : vsftpd-3.0.2-22.el7.src.rpm
Build Date : 2017年08月03日 星期四 14时10分20秒
Build Host : c1bm.rdu2.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : https://security.appspot.com/vsftpd.html
Summary : Very Secure Ftp Daemon
Description :
vsftpd is a Very Secure FTP daemon. It was written completely from
scratch.
[[email protected] Packages]#
软件包安装在哪里
[[email protected] Packages]# rpm -ql vsftpd
系统中安装了多少个rpm包,可以验证到底是否成功安装
[[email protected] Packages]# rpm -qa
[[email protected] Packages]# rpm -qa | grep vsf
vsftpd-3.0.2-22.el7.x86_64
[[email protected] Packages]#
知道了某个文件,要查哪个软件包产生:
[[email protected] Packages]# rpm -qf slapi-nis-0.56.0-4.el7.x86_64.rpm
文件 /run/media/root/CentOS 7 x86_64/Packages/slapi-nis-0.56.0-4.el7.x86_64.rpm 不属于任何软件包
[[email protected] Packages]#
删除软件
[[email protected] Packages]# rpm -e vsftpd
查看是否删除成功
[[email protected] Packages]# rpm -q vsftpd
未安装软件包 vsftpd
[[email protected] Packages]#
rpm –i的问题:httpd-2.4.6-67.el7.centos.x86_64.rpm依赖别的软件包,需要先按照别的软件包
[[email protected] Packages]# rpm -i httpd-2.4.6-67.el7.centos.x86_64.rpm
警告:httpd-2.4.6-67.el7.centos.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
错误:依赖检测失败:
/etc/mime.types 被 httpd-2.4.6-67.el7.centos.x86_64 需要
httpd-tools = 2.4.6-67.el7.centos 被 httpd-2.4.6-67.el7.centos.x86_64 需要
libapr-1.so.0()(64bit) 被 httpd-2.4.6-67.el7.centos.x86_64 需要
libaprutil-1.so.0()(64bit) 被 httpd-2.4.6-67.el7.centos.x86_64 需要
[[email protected] Packages]#
二、yum命令
解决这个问题的方法:
yum 需要有目录,帮你解决依赖性,不过依赖性需要提前在目录上写好
依赖性文件repodata
由于目录如果有空格就会影响结果,
[[email protected] CentOS 7 x86_64]# pwd
/run/media/root/CentOS 7 x86_64
[[email protected] CentOS 7 x86_64]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/sda3 18351104 6310516 12040588 35% /
devtmpfs 485108 0
485108 0% /dev
tmpfs
499848 0
499848 0% /dev/shm
tmpfs 499848 7308
492540 2% /run
tmpfs 499848 0
499848 0% /sys/fs/cgroup
/dev/sda1 508580
154480 354100 31% /boot
tmpfs 99972 8
99964 1% /run/user/42
tmpfs 99972 20
99952 1% /run/user/0
/dev/sr0 4414592 4414592 0
100% /run/media/root/CentOS 7 x86_64
所以挂载到没有空格的目录中
[[email protected] CentOS 7 x86_64]# mount
/dev/sr0 /opt
进入下面这个目录,这个目录存放yum的配置文件
[[email protected] CentOS 7 x86_64]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# ls
我们看到很多网络配置的文件
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo
我们为了学习写配置文件,现在把他们都移到一个文件夹中,让这个文件夹为空
[[email protected] yum.repos.d]# mkdir /tmp/bak
[[email protected] yum.repos.d]# mv * /tmp/bak
[[email protected] yum.repos.d]# ls
要以repo结尾
vim local.repo
[local] -- 随便写
name=local repo -- 随便写
baseurl=file:///opt
enable=1 -- 开启
gpgchek=0 -- 不检测
上面配完本地yum
清除yum的本地缓存
yum clean all
安装httpd
yum install httpd
如果不是按yes的话,就yum install httpd -y
卸载
yum -y erase httpd或者rpm -e httpd
[[email protected] yum.repos.d]# mv /tmp/bak/*
mv: 目标"/tmp/bak/CentOS-Vault.repo" 不是目录
[[email protected] yum.repos.d]# ls
local.repo
记住要加点
[[email protected] yum.repos.d]# mv /tmp/bak/* .
[[email protected] yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo local.repo
yum能解决依赖性,是因为yum仓库cd /opt 中有repodata
[[email protected] yum.repos.d]# yum -y install httpd
已加载插件:fastestmirror, langpacks
local | 3.6 kB 00:00:00
(1/2): local/primary_db | 5.7 MB 00:00:00
(2/2): local/group_gz | 156 kB 00:00:00
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 httpd.x86_64.0.2.4.6-67.el7.centos 将被 安装
--> 正在处理依赖关系 httpd-tools = 2.4.6-67.el7.centos,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在处理依赖关系 libaprutil-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在处理依赖关系 libapr-1.so.0()(64bit),它被软件包 httpd-2.4.6-67.el7.centos.x86_64 需要
--> 正在检查事务
---> 软件包 apr.x86_64.0.1.4.8-3.el7 将被 安装
---> 软件包 apr-util.x86_64.0.1.5.2-6.el7 将被 安装
---> 软件包 httpd-tools.x86_64.0.2.4.6-67.el7.centos 将被 安装
---> 软件包 mailcap.noarch.0.2.1.41-2.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=======================================================================================
Package 架构 版本 源 大小
=======================================================================================
正在安装:
httpd x86_64 2.4.6-67.el7.centos local 2.7 M
为依赖而安装:
apr x86_64 1.4.8-3.el7 local 103 k
apr-util x86_64 1.5.2-6.el7 local 92 k
httpd-tools x86_64 2.4.6-67.el7.centos local 87 k
mailcap noarch 2.1.41-2.el7 local 31 k
事务概要
=======================================================================================
安装 1 软件包 (+4 依赖软件包)
总下载量:3.0 M
安装大小:10 M
Downloading packages:
---------------------------------------------------------------------------------------
总计 6.3 MB/s | 3.0 MB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : apr-1.4.8-3.el7.x86_64 1/5
正在安装 : apr-util-1.5.2-6.el7.x86_64 2/5
正在安装 : httpd-tools-2.4.6-67.el7.centos.x86_64 3/5
正在安装 : mailcap-2.1.41-2.el7.noarch 4/5
正在安装 : httpd-2.4.6-67.el7.centos.x86_64 5/5
验证中 : httpd-2.4.6-67.el7.centos.x86_64 1/5
验证中 : mailcap-2.1.41-2.el7.noarch 2/5
验证中 : apr-1.4.8-3.el7.x86_64 3/5
验证中 : httpd-tools-2.4.6-67.el7.centos.x86_64 4/5
验证中 : apr-util-1.5.2-6.el7.x86_64 5/5
已安装:
httpd.x86_64 0:2.4.6-67.el7.centos
作为依赖被安装:
apr.x86_64 0:1.4.8-3.el7 apr-util.x86_64 0:1.5.2-6.el7
httpd-tools.x86_64 0:2.4.6-67.el7.centos mailcap.noarch 0:2.1.41-2.el7
完毕!
[[email protected] yum.repos.d]#
现在把之前剪切到/tmp/bak/,移到mv /tmp/bak/* .
[[email protected] opt]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# ls
local.repo
[[email protected] yum.repos.d]# mv /root/aa/* .
[[email protected] yum.repos.d]# ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
CentOS-CR.repo CentOS-fasttrack.repo CentOS-Sources.repo local.repo
[[email protected] yum.repos.d]#
查看是否安装成功
[[email protected] yum.repos.d]# rpm -qa |grep httpd
httpd-tools-2.4.6-67.el7.centos.x86_64
httpd-2.4.6-67.el7.centos.x86_64
[[email protected] yum.repos.d]#
卸载软件
[[email protected] /]# yum -y erase httpd
从下面看到,包已经卸载完,依赖性包没卸载
[email protected] /]# rpm -qa |grep httpd
httpd-tools-2.4.6-67.el7.centos.x86_64
[[email protected] /]#
local.repo的格式都差不多
[[email protected] /]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# vim CentOS-Base.repo
清理一下
[[email protected] yum.repos.d]# yum clean all
重启网络服务
[[email protected] yum.repos.d]# service network restart
安装ceph
[[email protected] yum.repos.d]# yum -y install ceph
[[email protected] ceph]# yum -y install epel安装不成功,因为名字错了
但是如果不知道后面是什么,就加-*
[[email protected] ceph]# yum -y install epel-*
得到了扩展源
建缓存,让安装速度提高
[[email protected] yum.repos.d]# yum makecache -y
三、一般yum安装完的话,就会把软件包删掉,如果我们要保留这些软件包的话,可以这样:这样我们不受官网老更新的影响。
vim /etc/yum.conf
把红框和上面一行修改为
cachedir=/rpm_bak
keepcache=1
意思是把软件包保存到/rpm_bak文件夹中
查看是否修改成功
[[email protected] yum.repos.d]# vim /etc/yum.conf
[[email protected] yum.repos.d]# head -10 /etc/yum.conf
建保存目录,那以后安装什么包都会保存到这里,不会被删
[[email protected] yum.repos.d]# mkdir /rpm_bak
查看是否下载成功
[[email protected] yum.repos.d]# cd /rpm_bak
[[email protected] rpm_bak]# ls
base epel extras local timedhosts timedhosts.txt updates
[[email protected] rpm_bak]# cd epel
[[email protected] epel]# ls
[[email protected] epel]# cd packages
[[email protected] packages]# ls
epel-release-7-11.noarch.rpm
清理yum的程序
yum clean all
重新安装
yum reinstall
如果epel安装不成功,就用下面的程序
yum reinstall epel-release -y
更新操作系统
yum update
四、yum连接网上的URL来安装
看看epel.repo文件,红色字的URL跟直接上网打网址的效果是一样的。
[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# ls
CentOS6-Base-163.repo CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo local.repo
[[email protected] yum.repos.d]# cat epel.repo
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
metalink=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
可以建httpd的yum仓库和yum源
mkdir /cangku_httpd(看截图)
createrepo /cangku_httpd
cd /cangku_httpd
ls
cd /etc/yum.repos.d/
ls
mv * /tmp/bak/
ls
vim httpd.repo
[httpd]
name=httpd server
baseurl=file:///cangke_httpd
enabled=1
gpgcheck=0
yum install httpd -y
添加完后记得要刷新下,命令是createrepo /cangku_httpd
如果仓库url是来自网络的话,可以这样做:
[[email protected] media]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# ls
CentOS6-Base-163.repo CentOS-CR.repo CentOS-Media.repo epel.repo
CentOS7-Base-163.repo CentOS-Debuginfo.repo CentOS-Sources.repo epel-testing.repo
CentOS-Base.repo CentOS-fasttrack.repo CentOS-Vault.repo local.repo
[[email protected] yum.repos.d]# cat CentOS-Base.repo
复制红框的网址http://mirror.centos.org/centos/
如何知道Cento是哪个版本
[[email protected] yum.repos.d]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
点击进入下面网址
http://mirror.centos.org/centos/7.4.1708/os/x86_64/repodata/
我们可以用这个网址来配置网络yum名
http://mirror.centos.org/centos/7.4.1708/os/x86_64
建repo
[[email protected] yum.repos.d]# vim centos-7.repo
[centos]
name=centos
baseurl=http://mirror.centos.org/centos/7.4.1708/os/x86_64/
enable=1
gpgcheck=0
[[email protected] yum.repos.d]# cat centos-7.repo
[[email protected] yum.repos.d]# yum install lrzsz –y