概述
rpm
是红帽提供的软件包管理工具,是Linux这系列操作系统里面的打包安装工具,它虽然是RedHat的标志,但理念是通用的。rpm
的全称是 RedHat Package Manager
。
RPM 包的名称说明如下(以 Apache-1.3.23-11.i386.rpm
为例):
apache
:表示软件名称。1.3.23-11
:表示软件的版本号,主版本和此版本。i486
:表示软件所运行需要的硬件平台,Intel 32 位处理器的统称。rpm
:文件扩展名,表示是 RPM 包。
注:
rpm
命令安装需要先从软件包的官方网站或者镜像网站将软件包下载到本地,然后上传到服务器上,再执行rpm
命令进行安装。
语法
该命令的语法如下:
rpm [选项] 软件包名
该命令支持的选项有:
选项 | 说明 |
---|---|
-a | 查询所有的软件包 |
-b, -t | 设置包装套件的完成阶段,并指定套件档的文件名称 |
-c | 只列出组态配置文件,本参数需配合”-l”参数使用 |
-d | 只列出文本文件,本参数需配合”-l”参数使用 |
-e, --erase | 卸载软件包 |
-f | 查询文件或命令属于哪个软件包 |
-h, --hash | 安装软件包时显示进度条 |
-i | 显示软件包的相关信息 |
–install | 安装软件包 |
-l | 显示软件包的文件列表 |
-p | 查询指定的rpm软件包 |
-q | 查询软件包 |
-R | 显示软件包的依赖关系 |
-s | 显示文件状态,本参数需配合”-l”参数使用 |
-U, --upgrade | 升级软件包 |
-v | 显示命令执行过程 |
-vv | 详细显示指令执行过程 |
注:关于
rpm
的选项非常多,这里只列举了一些常见的。
使用
查询所安装的所有 rpm
软件包
可以通过 -qa
选项查询当前系统中所有已经安装的 rpm
包,其中 -q
选项表示查询软件包;-a
选项表示查询所有的软件包。
# 语法,查询当前系统中所有已安装的软件包
rpm -qa
查询已安装的指定软件包
由于软件包比较多,一般都会采取过滤。通过管道符将查询出来的所有软件包信息传递给 grep
命令:
# 语法,查询指定软件包
rpm -qa | grep 软件包名
# 示例,查询当前系统中跟 firewall 有关的软件包
rpm -qa | grep firewall
卸载已安装的软件包
如果想要卸载某个软件包,只需要使用 -e
选项就可以了,但如果想要卸载时不检查依赖,需要再加上 --nodeps
选项,但是这样那些使用该软件包的软件在该软件包卸载后就不能正常工作了,所以谨慎使用。
# 卸载指定安装包
rpm -e 软件包名
# 卸载指定安装包并且不检查依赖
rpm -e --nodeps 软件包名
# 示例,卸载火狐
rpm -e firefox
安装软件包
如果要安装软件包可以执行如下命令:
# 语法:-i 表示安装;-v 表示显示安装的详细信息;-h 表示安装时显示进度条;--nodeps 表示安装前不检查依赖
rpm -ivh 软件包全名
# 示例,安装火狐浏览器
rpm -ivh firefox-45.0.1-1.el6.centos.x86_64.rpm
升级软件包
如果要升级软件包,则可以使用 -U
选项:
rpm -U 软件包名