yum 用法整理

基本指令

  1. 安装套件:
    yum install 套件名称
  2. 升级套件:
    yum update 套件名称
  3. 升级全部套件:
    yum update
  4. 升级全部套件及发行版本 (请小心使用):
    yum upgrade
  5. 移除套件:
    yum remove 套件名称
    
  6. 清除暂存盘 (/var/cache/yum):
    yum clean all

查询功能

  1. 列出所有的套件,包含已安装、可安装:
    yum list

    或列出特定套件:

    yum list 套件名称

    或加上万用字符:

    yum list 套件名称*
  2. 列出所有已安装的套件:
    yum list installed

    相当于:

    rpm -qa

    或列出特定套件:

    yum list installed 套件名称

    或加上万用字符:

    yum list installed 套件名称*

    相当于:

    rpm -q 套件名称

    不过更建议用 yum info 指令:

    yum info 套件名称

    也可以知道套件是否已安装,并且显示更多的套件资讯。

  3. 查询可更新的套件:
    yum list updates

    或:

    yum check-update
  4. 查询套件资讯:
    yum info 套件名称

    或加上万用字符:

    yum info 套件名称*
  5. 搜寻套件:
    yum search 关键字

    ex:

    yum search zlib
  6. 查询特定档案存在于什么套件之中:
    yum provides 档案名称
    或:
    yum provides */档案名称
    或:
    yum resolvedep 档案名称

    ex:

    yum provides libz.*
    或:
    yum provides */nslookup
    或:
    yum resolvedep libz.so.1

套件组

  1. 查看已安装与可安装的套件组:
    yum grouplist
  2. 安装套件组:
    yum groupinstall "套件组名称"

    ex:

    yum groupinstall "KDE Desktop"
  3. 升级套件组:
    yum groupupdate "套件组名称"
  4. 移除套件组:
    yum groupremove "套件组名称"
  5. 查看套件组资讯:
    yum groupinfo "套件组名称"

下载 RPM 档

下载 RPM 档至指定目录:

yum install --downloadonly --downloaddir=储存路径 套件名称

ex:

yum install --downloadonly --downloaddir=/tmp/nginx nginx

注意事项:

  1. yum 所下载的 RPM 档是基于目前的系统环境,会下载系统所缺少的套件,以及相依的套件。换言之,如果你要下载的套件在目前的系统已经安装过了,yum 便不会再单独下载了。
  2. 建议一定要加 --downloaddir 参数来指定档案的储存路径! 如果没有加此参数,那么默认会下载到:
    /var/cache/yum/x86_64/版本/套件库/packages/

安装 RPM 档

本地安装 RPM 档:

yum localinstall 档案名称

另外要说明的是,如果你要在本地安装的 RPM 档有“相依套件”需要一并安装,则其相依套件仍会经由 yum 去下载回来,ex:

$ yum localinstall nginx-1.10.3-1.el6.x86_64.rpm
...
======================================================================================
Package                      Arch    Version       Repository                 Size
======================================================================================
Installing:
nginx                        x86_64  1.10.3-1.el6  /nginx-1.10.3-1.el6.x86_64  1.3 M
Installing for dependencies:
nginx-all-modules            noarch  1.10.3-1.el6  epel                        7.9 k
nginx-filesystem             noarch  1.10.3-1.el6  epel                        8.7 k
nginx-mod-http-geoip         x86_64  1.10.3-1.el6  epel                         14 k
nginx-mod-http-image-filter  x86_64  1.10.3-1.el6  epel                         16 k
nginx-mod-http-perl          x86_64  1.10.3-1.el6  epel                         26 k
nginx-mod-http-xslt-filter   x86_64  1.10.3-1.el6  epel                         16 k
nginx-mod-mail               x86_64  1.10.3-1.el6  epel                         43 k
nginx-mod-stream             x86_64  1.10.3-1.el6  epel                         36 k

Transaction Summary
======================================================================================
Install 9 Package(s)

Total size: 1.5 M
Total download size: 168 k
Installed size: 1.6 M

如果你本来就已经经由 --downloadonly 参数将全部的相依套件都下载回来了,你不希望 yum 再下载一次,那么你可以将所有的套件档案放在同一个目录,安装时的档案名称改用 *.rpm 来安装:

$ yum localinstall *.rpm
...
============================================================================================================
 Package                      Arch    Version       Repository                                         Size
============================================================================================================
Installing:
 nginx                        x86_64  1.10.3-1.el6  /nginx-1.10.3-1.el6.x86_64                        1.3 M
 nginx-all-modules            noarch  1.10.3-1.el6  /nginx-all-modules-1.10.3-1.el6.noarch            0.0
 nginx-filesystem             noarch  1.10.3-1.el6  /nginx-filesystem-1.10.3-1.el6.noarch             0.0
 nginx-mod-http-geoip         x86_64  1.10.3-1.el6  /nginx-mod-http-geoip-1.10.3-1.el6.x86_64          17 k
 nginx-mod-http-image-filter  x86_64  1.10.3-1.el6  /nginx-mod-http-image-filter-1.10.3-1.el6.x86_64   21 k
 nginx-mod-http-perl          x86_64  1.10.3-1.el6  /nginx-mod-http-perl-1.10.3-1.el6.x86_64           53 k
 nginx-mod-http-xslt-filter   x86_64  1.10.3-1.el6  /nginx-mod-http-xslt-filter-1.10.3-1.el6.x86_64    20 k
 nginx-mod-mail               x86_64  1.10.3-1.el6  /nginx-mod-mail-1.10.3-1.el6.x86_64                96 k
 nginx-mod-stream             x86_64  1.10.3-1.el6  /nginx-mod-stream-1.10.3-1.el6.x86_64              73 k

Transaction Summary
============================================================================================================
Install       9 Package(s)

Total size: 1.6 M
Installed size: 1.6 M

其它说明

当你用 yum 自动更新所有的套件时,如果不想更新 Kernel 的话,请编辑 /etc/yum.conf,在 [main] 区段加入一行:

exclude=kernel*

错误处理

  1. 当安装套件时出现错误讯息:
    pkgKey xxx doesn't exist in repo base

    你可以执行:

    yum clean metadata

    解决这个问题。

  2. 当下载 RPM 档时出现错误讯息:
    Command line error: no such option: --downloadonly

    表示你的 yum 版本较旧,需要再安装一个 yum-plugin-downloadonly 套件:

    yum install yum-plugin-downloadonly

参考网页

  1. CentOS 如何加入第三方 Yum 套件库: EPEL
  2. CentOS 5/6 改为可用的 yum 套件库来源 (2022)
  3. CentOS 6.x 安装 nslookup 的步骤 (与 yum 如何查询套件)
  4. 可供 CentOS 使用的软件库
  1. No comments yet.

  1. No trackbacks yet.

return top

%d 位部落客按了赞: