(转)Linux下RPM软件包的安装及卸载与yum命令详解

Linux下RPM软件包的安装及卸载与yum命令详解

在 Linux 操作系统 下,几乎所有的软件均通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。

RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。 

1.RPM 安装操作

命令: rpm -i 需要安装的包文件名

举例如下:rpm -i example.rpm   //安装 example.rpm 包;

rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;

rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;

2.RPM 查询操作

命令:rpm -q …

附加查询命令:

a 查询所有已经安装的包,以下两个附加命令用于查询安装包的信息;

i 显示安装包的信息;

l 显示安装包中的所有文件被安装到哪些目录下;

s 显示安装版中的所有文件状态及被安装到哪些目录下;以下两个附加命令用于指定需要查询的是安装包还是已安装后的文件;

p 查询的是安装包的信息;

f 查询的是已安装的某文件信息;

举例如下:

rpm -qa | grep tomcat4   //查看 tomcat4 是否被安装;

rpm -qip example.rpm     //查看 example.rpm 安装包的信息;

rpm -qif /bin/df         //查看/bin/df 文件所在安装包的信息;

rpm -qlf /bin/df       //查看/bin/df 文件所在安装包中的各个文件分别被安装到哪个目录下;

3.RPM 卸载操作

命令:rpm -e 需要卸载的安装包

在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。

举例如下: rpm -e tomcat4      //卸载 tomcat4 软件包

4.RPM 升级操作

命令:rpm -U 需要升级的包

举例如下:rpm -Uvh example.rpm    //升级 example.rpm 软件包

5.RPM 验证操作

命令: rpm -V 需要验证的包

举例如下:rpm -Vf /etc/tomcat4/tomcat4.conf

输出信息类似如下:S.5....T c /etc/tomcat4/tomcat4.conf

其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm

6.RPM 的其他附加命令

--force 强制操作 如强制安装删除等;

--requires 显示该包的依赖关系;

--nodeps 忽略依赖关系并继续操作;

今天51开源给大家详细介绍一下yum命令的用法。那么什么是YUM呢?它是Yellow dog Updater Modified的缩写。它的出现目的是为了解决RPM包的依赖关系,方便用户进行软件的安装、删除、升级等工作。  

如果你是一个Linux的初学者,一定会被软件的安装所困扰过,尽管RPM包解决了一定层度的问题,但有些RPM的包的依赖关系让人很是头疼。而YUM、APT等一些RPM包的管理方式的出现,使Linux平台上软件的安装变得更加简便。那么什么是YUM呢?它是Yellow dog Updater Modified的缩写。本文将详细介绍yum命令的使用方法,关于YUM仓库的配置将在51开源站点其他技术文档详细讲述。

下面将详述yum命令的用法:

主要参数:

-y     不需要用户确认要发生的操作

1.用YUM安装删除软件

yum会查询数据库,有无这一软件包,如果有,则检查其依赖冲突关系,如果没有依赖冲突,下载安装;如果有,则会给出提示,询问是否要同时安装依赖,或删除冲突的包,你可以自己作出判断。

#yum  install  软件名            //用YUM安装指定软件包

#yum  remove  软件名           //用YUM删除指定软件包

#yum localinstall RPM包文件   //使用YUM方式安装本地RPM包

#yum groupinstall <分组名称>   //安装指定分组内所有软件

#yum groupremove packagegroup <分组名称> //删除指定分组内所有软件

注意:install、localinstall的区别:使用install时,指定的软件包将从YUM服务器下载并安装,而localinstall指定的软件使用RPM包安装,而依赖关系所需的包在YUM服务器下载安装。 

2.用YUM查询软件信息

#yum check-update          //列出所有可更新的软件清单

#yum -y update       //升级所有已安装软件

#yum -y update <软件名>    //升级指定的软件包

#yum  upgrade //大规模的版本升级,与yum update不同的是,连旧的淘汰的包也升级

#yum  groupupdate  <分组名称> //更新指定软件组中的软件包

#yum info   软件名         //显示指定软件包相关信息

#yum info updates           //显示所有可以更新的软件包的信息

#yum info installed          //显示所有已经安装的软件包的信息

#yum info extras       //显示所有已经安装但不在YUM 仓库内的软件包信息

#yum groupinfo <分组名称> //显示指定分组的信息

#yum list                   //列出所有已经安装和可以安装的软件

#yum  list  <regex>    //列出资源库中与正则表达式匹配的可以安装或更新以及已经安装的rpm包

#yum list  软件名         //列出指定的软件包的安装情况

#yum  list  available         //列出资源库中所有可以安装的rpm包

#yum  list  available <regex> //列出资源库中与正则表达式匹配的所有可以安装的rpm包

#yum listinstalled          //列出所有已经安装的软件包

#yum list  installed <regex>  //列出资源库中与正则表达式匹配的所有已经安装的rpm包

#yum list extras          //列出所有已经安装但不在YUM 仓库内的软件包

#yum list extras <regex>//列出与正则表达式匹配的已安装的但不包含在资源库中的rpm包

#yum grouplist              //列出所有YUM服务器定义的分组

#yum search <关键字>      //在YUM源中查找指定关键字

#yum  search <regex>       //检测所有可用的软件的名称、描述、概述和已列出的维护者,查找与正则表达式匹配的值

#yum  list  recent           //列出最近被添加到资源库中的软件包

#yum  provides <regex>      //检测软件包中包含的文件以及软件提供的功能,查找与正则表达式匹配的值

#yum  deplist  <软件包>     //显示软件包的依赖信息 

3.清除YUM缓存

yum会把下载的软件包和header存储在cache中,而不会自动删除。

#yum clean packages     //清除缓存目录(/var/cache/yum)下的软件包

#yum clean headers      //清除缓存目录(/var/cache/yum)下的 headers

#yum clean oldheaders   //清除缓存目录(/var/cache/yum)下旧的 headers

#yum clean all     //清除缓存目录(/var/cache/yum)下的软件包及旧的headers

#yum clean     //同上,清除缓存目录(/var/cache/yum)下的软件包及旧的headers 

yum命令使用实例

1、升级系统

#yum update

2、安装指定的软件包

# yum -y install vsftpd

3、升级指定的软件包

# yum -y update mysql

4、卸载指定的软件包

# yum -y remore vsftpd mysql

5、查看系统中已经安装的和可用的软件组,对于可用的软件组,你可以选择安装

# yum grouplist 

6、安装上一个命令中显示的可用的软件组中的一个软件组,神之编辑器-Emacs,大约安装了12个软件包

# yum -y groupinstall Emacs

7、更新指定软件组中的软件包

# yum -y groupupdate Emacs

8、卸载指定软件组中的软件包,对于Emacs,安装的时候安装了12个软件包,但是卸载的时候只卸载了4个软件包!

# yum  -y  groupremove  Emacs

9、清除缓存中的rpm 头文件和包文件

# yum  clean  all

10、搜索相关的软件包

# yum  -y search  Emacs

11、显示指定软件包的信息

# yum  info  Emacs

和rpm -qi emacs显示的信息差不多,但不完全相同

12、查询指定软件包的依赖信息,emacs依赖的模块不少啊

# yum  deplist  emacs

13、列出所有以 yum 开头的软件包

# yum  list  yum*

14、列出已经安装的但是不包含在资源库中的rpm 包

# yum  list  extras