Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解
之前一直在用ubuntu,安装卸载软件基本上是使用apt-get 这个非常的简单,而且过程中遇到的软件依赖会自动帮我们处理,类似于傻瓜式安装。另外在 Linux 操作系统下,几乎所有的软件都可以通过RPM 进行安装、卸载及管理等操作。RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证。
RPM 安装操作
命令:
rpm -i 需要安装的包文件名
举例如下:
rpm -i example.rpm 安装 example.rpm 包;
rpm -iv example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息;
rpm -ivh example.rpm 安装 example.rpm 包并在安装过程中显示正在安装的文件信息及安装进度;
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 文件所在安装包中的各个文件分别被安装到哪个目录下;
RPM 卸载操作
命令:
rpm -e 需要卸载的安装包
在卸载之前,通常需要使用rpm -q …命令查出需要卸载的安装包名称。
举例如下:
rpm -e tomcat4 卸载 tomcat4 软件包
RPM 升级操作
命令:
rpm -U 需要升级的包
举例如下:
rpm -Uvh example.rpm 升级 example.rpm 软件包
RPM 验证操作
命令:
rpm -V 需要验证的包
举例如下:
rpm -Vf /etc/tomcat4/tomcat4.conf
输出信息类似如下:
S.5....T c /etc/tomcat4/tomcat4.conf
其中,S 表示文件大小修改过,T 表示文件日期修改过。限于篇幅,更多的验证信息请您参考rpm 帮助文件:man rpm
RPM 的其他附加命令
--force 强制操作 如强制安装删除等;
--requires 显示该包的依赖关系;
--nodeps 忽略依赖关系并继续操作;
下面将详述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