本文主要介绍centos系统程序包管理软件Yum命令的详细使用方法。
Yum软件包管理方式,在Red Hat,Fedora,CentOS等发行版本上运用广泛。
1. Yum的工作机制
将诸多程序的包信息和头文件提取出来,放到一个集中的地方,记录其依赖关系。在下次安装的时候,均于存储的库文件查找相应的对应关系,再安装所依赖的软件程序。
2. Yum配置文件
主配置文件:/etc/yum.conf1
2
3
4
5
6
7
8[main]:主名称,固定名称
cachedir=/var/cache/yum/$basearch/$releasever 缓存目录
keepcache=0 是否保存缓存
debuglevel=2 调试级别
exactarch=1 是否做精确严格的平台匹配
gpgcheck=1 检查来源法性和完整性
plugins=1 是否支持插件
installonly_limit=4 同时安装几个
子配置文件:/etc/yum.repos.d/*.repo1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16[repository ID] :ID名称,即仓库名称,不可与其他ID重命
name= (对ID名称的说明)
baserul=URL1
URL2
URL3 (如果同一个源有多个镜像,可以在此我写几个,但每个URL需换行)
mirrorlist= (有一台服务器在网络上,保存了多个baseurl,如果使用这项,就不使用baseurl项)
enabled={1|0}
gpgcheck={1|0}
repo_gpgcheck= (检查仓库的元数据的签名信息)
gpgkey=URL (gpg密钥文件)
enablegroups= {1|0}} (是否在此仓库中上使用组来指管理程序包)
failovermethod= roundrobin|priority (对多个baseurl做优先级的,roundrobin为轮循,priority为优先级,默认为轮循,意为随机)
keepalive= (如果对方是http 1.0是否要保持连接)
username= (yum的验证用户)
password= (yum的验证用户密码)
cost= (默认baseurl都为1000)
Yum仓库的配置文件示例1
2
3
4
5
6
7
8[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
其中使用了变量
$releasever:当前os的发行版本的主版本号
$arch:平台
$basearch:基础平台
3. 常用的国内Yum源
- 中科大
http://mirrors.ustc.edu.cn/centos/CentOS-Base.5.mirrors.repo
http://mirrors.ustc.edu.cn/centos/6/os/x86_64/ - 搜狐
http://mirrors.sohu.com/help/CentOS-Base-sohu.repo
http://mirrors.sohu.com/centos/6/os/x86_64/ - REMI
http://rpms.remirepo.net/ REMI网站
https://mirrors.tuna.tsinghua.edu.cn/remi/ REMI中国镜像
http://rpms.remirepo.net/enterprise/
http://rpms.remirepo.net/enterprise/remi-release-6.rpm - 163源
http://mirrors.163.com/centos/ - 阿里云
https://opsx.alibaba.com/mirror - 中国科技大学
http://centos.ustc.edu.cn/centos/ - rpm包常用下载地址
https://centos.pkgs.org/
http://rpmfind.net/
http://dl.fedoraproject.org/pub/epel/
4. 制作Yum源
上面介绍的都是网络上做好的yum源,我们也可以自己来制作yum源。
本地光盘源
1
2
3
4
5
6
7
8
9mkdir /media/cdrom
mount /dev/cdrom /media/cdrom/
cd /etc/yum.repos.d/
vim cdrom.repo
[cdrom]
name=cdrom repolist
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1文件夹源
1
2
3
4
5
6
7
8
9
10
11mkdir /yum
yum -y install createrepo
mv *.rpm /yum
createrepo /yum
cd /etc/yum.repos.d/
vim cdrom.repo
[local]
name=local directory repolist
baseurl=file:///media/cdrom/
gpgcheck=0
enabled=1网络yum源
1
2
3yum install httpd -y
ln -s /yum /var/www/html/
service httpd start添加新的yum源:
1
2yum install yum-utils -y
yum-config-manager --add-repo=file:///yum/
5. yum命令使用
安装软件1
yum install packagename
升级软件1
yum update packagename
卸载软件1
yum remove packagename
搜索已安装软件包1
yum search keyword
查看软件包额外信息1
yum info packagename
查看可安装的软件包1
yum list | less
列出已安装软件包1
yum list installed | less
显示仓库的所有程序包1
yum list
查看特定文件属于哪个软件包1
yum provides /etc/sysconfig/nfs
列出可获得的软件组1
yum grouplist
安装某个特定软件组1
yum groupinstall
升级软件组1
yum groupupdate 'Graphical Internet'
卸载软件组1
yum groupremove 'DNS Name Server'
列出当前yum软件源1
yum repolist
查看yum安装的历史1
2
3yum history
yum history info 3
yum history undo 4
安装及升级本地程序包1
2yum localinstall rpmfile1
yum localupdate rpmfile1
6. 使用Yumdownloader下载RPM软件包及其所有依赖包
如果系统中没有yumdownloader命令,可以执行如下命令安装:1
yum -y install yum-utils
具体使用方法:1
2
3
4# yumdownloader httpd
# yumdownloader --resolve httpd
# yumdownloader --resolve --destdir=/root/mypackages/ httpd
# yumdownloader "@Development Tools" --resolve --destdir /root/mypackages/