yum命令详解

本文主要介绍centos系统程序包管理软件Yum命令的详细使用方法。

Yum软件包管理方式,在Red Hat,Fedora,CentOS等发行版本上运用广泛。

1. Yum的工作机制

将诸多程序的包信息和头文件提取出来,放到一个集中的地方,记录其依赖关系。在下次安装的时候,均于存储的库文件查找相应的对应关系,再安装所依赖的软件程序。

2. Yum配置文件

主配置文件:/etc/yum.conf

1
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/*.repo

1
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源

4. 制作Yum源

上面介绍的都是网络上做好的yum源,我们也可以自己来制作yum源。

  • 本地光盘源

    1
    2
    3
    4
    5
    6
    7
    8
    9
    mkdir /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
    11
    mkdir /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
    3
    yum install httpd -y
    ln -s /yum /var/www/html/
    service httpd start
  • 添加新的yum源:

    1
    2
    yum 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
3
yum history
yum history info 3
yum history undo 4

安装及升级本地程序包

1
2
yum 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/

---------------- The End ----------------