rpm是Red Hat系Linux管理本地.rpm文件的底层工具,不联网、不解依赖,需root权限安装/卸载,支持安装(-ivh)、升级(-Uvh)、查询(-qa/-ql/-qf)、校验(-V)和卸载(-e)等操作。

rpm 命令是 Red Hat 系 Linux(如 RHEL、CentOS、Fedora、EulerOS)管理本地 .rpm 文件的底层工具,不联网、不解依赖,但操作直接、控制精准。日常运维中,它常用于离线环境或配合 yum/dnf 做精细干预。
安装本地 RPM 包
必须用 root 权限执行,且需提供完整 .rpm 文件路径:
- rpm -ivh package.rpm:最常用组合。-i 表示安装,-v 显示详细过程(如每个文件路径),-h 以 # 号显示进度条
- rpm -Uvh package.rpm:升级已存在包;若未安装,则等效于 -i。适合平滑更新,推荐优先使用
- 遇到依赖缺失(如 error: Failed dependencies: libcurl >= 7.29.0 is needed by xxx),不要强行跳过,应先用 dnf install libcurl 或 yum install libcurl 补齐依赖
- 慎用 --force 和 --nodeps:它们会绕过冲突检测与依赖检查,可能导致服务异常或系统不稳定
查询已安装软件包信息
查询类命令无需 root 权限,普通用户也可执行:
- rpm -qa:列出所有已安装包,结果较长时可搭配 | grep nginx 快速筛选
- rpm -q 软件名:检查是否安装,例如 rpm -q httpd;若未安装,提示 “package httpd is not installed”
- rpm -qi 软件名:显示该包的详细信息,包括版本、构建时间、描述、许可证等
- rpm -ql 软件名:列出该包安装的所有文件路径,便于定位配置文件(如 /etc/nginx/nginx.conf)或二进制位置(如 /usr/sbin/nginx)
- rpm -qf /路径/文件:反向查归属,例如 rpm -qf /usr/bin/yum 返回 yum-4.10.0-1.el8.noarch
验证已安装包的完整性
校验功能用于确认关键系统文件是否被意外修改或损坏:
- rpm -V 软件名:对指定包所有文件做一致性校验,输出格式如 S.5....T. c /etc/httpd/conf/httpd.conf,其中 S 表示文件大小变化,5 表示 MD5 校验失败,c 表示是配置文件
- rpm -Va:校验所有已安装包(耗时较长,生产环境慎用)
- 校验结果为空表示无异常;有输出则说明对应文件被改动,需结合业务判断是否为预期行为(如手动改配置)
卸载已安装的 RPM 包
卸载必须用 root 权限,且填的是软件名(不是 .rpm 文件名):
- rpm -e 软件名:例如 rpm -e nginx。卸载前建议先用 rpm -q nginx 确认存在
- 若提示 error: Failed dependencies,说明其他已装包依赖它,此时不能直接卸载——要么先卸载依赖方,要么加 --nodeps(不推荐)
- 卸载不会自动清理配置文件(如 /etc/nginx/ 下的内容),如需彻底清除,卸载后手动删除


















