Linux yum命令详解(查询、安装、升级和卸载软件包)

在《yum及其源配置》一节的基础上,本节学习如何使用 yum 命令实现查询、安装、升级和卸载 RPM 包。

yum查询命令

使用 yum 对软件包执行查询操作,常用命令可分为以下几种:
  • yum list:查询所有已安装和可安装的软件包。例如:

    [root@localhost yum.repos.d]# yum list
    #查询所有可用软件包列表
    Installed Packages
    #已经安装的软件包
    ConsdeKit.i686 0.4.1-3.el6
    @anaconda-CentOS-201207051201 J386/6.3
    ConsdeKit-libs.i686 0.4.1-3.el6 @anaconda-CentOS-201207051201 J386/6.3
    …省略部分输出…
    Available Packages
    #还可以安装的软件包
    389-ds-base.i686 1.2.10.2-15.el6 c6-media
    389-ds-base-devel.i686 1.2.10.2-15.el6 c6-media
    #软件名 版本 所在位置(光盘)
    …省略部分输出…

  • yum list 包名:查询执行软件包的安装情况。例如:

    [root@localhost yum.repos.d]# yum list samba
    Available Packages samba.i686 3.5.10-125.el6 c6-media
    #查询 samba 软件包的安装情况

  • yum search 关键字:从 yum 源服务器上查找与关键字相关的所有软件包。例如:

    [root@localhost yum.repos.d]# yum search samba
    #搜索服务器上所有和samba相关的软件包
    ========================N/S Matched:
    samba =============================
    samba-client.i686:Samba client programs
    samba-common.i686:Files used by both Samba servers and clients
    samba-doc.i686: Documentation for the Samba suite
    …省略部分输出…
    Name and summary matches only, use"search all" for everything.

  • yum info 包名:查询执行软件包的详细信息。例如:

    [root@localhost yum.repos.d]# yum info samba
    #查询samba软件包的信息
    Available Packages <-没有安装
    Name : samba <-包名
    Arch : i686 <-适合的硬件平台
    Version : 3.5.10 <―版本
    Release : 125.el6 <—发布版本
    Size : 4.9M <—大小
    Repo : c6-media <-在光盘上
    …省略部分输出…

yum安装命令

yum 安装软件包的命令基本格式为:

[root@localhost yum.repos.d]# yum -y install 包名

其中:
  • install:表示安装软件包。
  • -y:自动回答 yes。如果不加 -y,那么每个安装的软件都需要手工回答 yes;

例如使用此 yum 命令安装 gcc:

[root@localhost yum jepos.d]#yum -y install gcc
#使用yum自动安装gcc

gcc 是 C 语言的编译器,鉴于该软件包涉及到的依赖包较多,建议使用 yum 命令安装。

yum 升级命令

使用 yum 升级软件包,需确保 yum 源服务器中软件包的版本比本机安装的软件包版本高。

yum 升级软件包常用命令如下:
  • yum -y update:升级所有软件包。不过考虑到服务器强调稳定性,因此该命令并不常用。
  • yum -y update 包名:升级特定的软件包。

yum 卸载命令

使用 yum 卸载软件包时,会同时卸载所有与该包有依赖关系的其他软件包,即便有依赖包属于系统运行必备文件,也会被 yum 无情卸载,带来的直接后果就是使系统崩溃。

除非你能确定卸载此包以及它的所有依赖包不会对系统产生影响,否则不要使用 yum 卸载软件包。

yum 卸载命令的基本格式如下:

[root@localhost yum.repos.d]# yum remove 包名
#卸载指定的软件包

例如,使用 yum 卸载 samba 软件包的命令如下:

[root@localhost yum.repos.d]# yum remove samba
#卸载samba软件包