rpm命令来自英文词组“redhat package manager”的缩写,中文译为“红帽软件包管理器”,其功能是用于在Linux系统下对软件包进行安装、卸载、查询、验证、升级等工作,常见的例如RHEL、CentOS、Fedora等主流系统都采用这种软件包管理器,安装软件推荐用固定搭配“rpm -ivh 软件包名”,而卸载软件则用固定搭配“rpm -evh 软件包名”,简单好记又好用。

语法格式:rpm [参数] 软件包名

常用参数:

-a显示所有软件包
-c仅显示组态配置文件
-d仅显示文本文件
-e卸载软件包
-f显示文件或命令属于哪个软件包
-h安装软件包时显示标记信息
-i安装软件包
-l显示软件包的文件列表
-p显示指定的软件包信息
-q显示指定软件包是否已安装
-R显示软件包的依赖关系
-s显示文件状态信息
-U升级软件包
-v显示执行过程信息
-vv显示执行过程详细信息

参考示例

正常安装软件包:

[root@linux-arae-cc ~]# rpm -ivh cockpit-185-2.el8.x86_64.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
    package cockpit-185-2.el8.x86_64 is already installed

显示系统已安装过的全部RPM软件包:

[root@linux-arae-cc ~]# rpm -qa
qemu-kvm-block-gluster-2.12.0-63.module+el8+2833+c7d6d092.x86_64
boost-atomic-1.66.0-6.el8.x86_64
gnome-session-wayland-session-3.28.1-6.el8.x86_64
grub2-tools-2.02-66.el8.x86_64
lohit-gurmukhi-fonts-2.91.2-3.el8.noarch
liberation-fonts-common-2.00.3-4.el8.noarch
policycoreutils-python-utils-2.8-16.1.el8.noarch
………………省略部分输出信息………………

查询某个软件的安装路径:

[root@linux-arae-cc ~]# rpm -ql cockpit
/usr/share/cockpit
/usr/share/doc/cockpit/AUTHORS
/usr/share/doc/cockpit/COPYING
/usr/share/doc/cockpit/README.md
/usr/share/man/man1/cockpit.1.gz
/usr/share/metainfo/cockpit.appdata.xml
/usr/share/pixmaps/cockpit.png

卸载某个通过RPM软件包安装的服务:

[root@linux-arae-cc ~]# rpm -evh cockpit
Preparing...                          ################################# [100%]
Cleaning up / removing...
1:cockpit-185-2.el8                ################################# [100%]

升级某个软件包:

[root@linux-arae-cc ~]# rpm -Uvh cockpit-185-2.el8.x86_64.rpm 
Verifying...                          ################################# [100%]
Preparing...                          ################################# [100%]
Updating / installing...
   1:cockpit-185-2.el8                ################################# [100%]