yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。
基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。
yum 提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

yum 语法

  1. yum [options] [command] [package ...]
  • options:可选,选项包括-h(帮助),-y(当安装过程提示选择全部为 “yes”),-q(不显示安装的过程)等等。
  • command:要进行的操作。
  • package:安装的包名。

yum常用命令

    1. 列出所有可更新的软件清单命令:yum check-update
    1. 更新所有软件命令:yum update
    1. 仅安装指定的软件命令:yum install
    1. 仅更新指定的软件命令:yum update
    1. 列出所有可安裝的软件清单命令:yum list
    1. 删除软件包命令:yum remove
    1. 查找软件包命令:yum search
    1. 清除缓存命令:
      • yum clean packages: 清除缓存目录下的软件包
      • yum clean headers: 清除缓存目录下的 headers
      • yum clean oldheaders: 清除缓存目录下旧的 headers
      • yum clean, yum clean all (= yum clean packages; yum clean oldheaders) :清除缓存目录下的软件包及旧的 headers

        实例 1

        安装 pam-devel
  1. [root@www ~]# yum install pam-devel
  2. Setting up Install Process
  3. Parsing package install arguments
  4. Resolving Dependencies <==先检查软件的属性相依问题
  5. --> Running transaction check
  6. ---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be updated
  7. --> Processing Dependency: pam = 0.99.6.2-4.el5 for package: pam-devel
  8. --> Running transaction check
  9. ---> Package pam.i386 0:0.99.6.2-4.el5 set to be updated
  10. filelists.xml.gz 100% |=========================| 1.6 MB 00:05
  11. filelists.xml.gz 100% |=========================| 138 kB 00:00
  12. -> Finished Dependency Resolution
  13. ……(省略)

实例 2

移除 pam-devel

  1. [root@www ~]# yum remove pam-devel
  2. Setting up Remove Process
  3. Resolving Dependencies <==同样的,先解决属性相依的问题
  4. --> Running transaction check
  5. ---> Package pam-devel.i386 0:0.99.6.2-4.el5 set to be erased
  6. --> Finished Dependency Resolution
  7. Dependencies Resolved
  8. =============================================================================
  9. Package Arch Version Repository Size
  10. =============================================================================
  11. Removing:
  12. pam-devel i386 0.99.6.2-4.el5 installed 495 k
  13. Transaction Summary
  14. =============================================================================
  15. Install 0 Package(s)
  16. Update 0 Package(s)
  17. Remove 1 Package(s) <==还好,并没有属性相依的问题,单纯移除一个软件
  18. Is this ok [y/N]: y
  19. Downloading Packages:
  20. Running rpm_check_debug
  21. Running Transaction Test
  22. Finished Transaction Test
  23. Transaction Test Succeeded
  24. Running Transaction
  25. Erasing : pam-devel ######################### [1/1]
  26. Removed: pam-devel.i386 0:0.99.6.2-4.el5
  27. Complete!

实例 3

利用 yum 的功能,找出以 pam 为开头的软件名称有哪些?

  1. [root@www ~]# yum list pam*
  2. Installed Packages
  3. pam.i386 0.99.6.2-3.27.el5 installed
  4. pam_ccreds.i386 3-5 installed
  5. pam_krb5.i386 2.2.14-1 installed
  6. pam_passwdqc.i386 1.0.2-1.2.2 installed
  7. pam_pkcs11.i386 0.5.3-23 installed
  8. pam_smb.i386 1.1.7-7.2.1 installed
  9. Available Packages <==底下则是『可升级』的或『未安装』的
  10. pam.i386 0.99.6.2-4.el5 base
  11. pam-devel.i386 0.99.6.2-4.el5 base
  12. pam_krb5.i386 2.2.14-10 base

国内 yum 源

网易(163)yum源是国内最好的yum源之一 ,无论是速度还是软件版本,都非常的不错。
将yum源设置为163 yum,可以提升软件包安装和更新的速度,同时避免一些常见软件版本无法找到。

安装步骤

首先备份/etc/yum.repos.d/CentOS-Base.repo

  1. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

下载对应版本 repo 文件, 放入 /etc/yum.repos.d/ (操作前请做好相应备份)

  1. wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
  2. mv CentOS6-Base-163.repo CentOS-Base.repo

运行以下命令生成缓存

  1. yum clean all
  2. yum makecache

除了网易之外,国内还有其他不错的 yum 源,比如中科大和搜狐。
中科大的 yum 源,安装方法查看:https://lug.ustc.edu.cn/wiki/mirrors/help/centos
sohu 的 yum 源安装方法查看: http://mirrors.sohu.com/help/centos.asp