rpm 是红帽系 linux 底层软件安装方式,需手动处理依赖;安装用 rpm -ivh,查询用 rpm -qa/-q/-qi/-ql,卸载用 rpm -e,升级用 rpm -uvh,定位文件归属用 rpm -qf。

RPM 包管理是红帽系 Linux(如 RHEL、CentOS、EulerOS)最底层、最直接的软件安装方式。它不自动解决依赖,但控制精细、可追溯性强,适合离线部署、版本锁定或系统级维护场景。
怎么安装 RPM 包
使用 rpm -ivh package.rpm 安装本地包:
- -i 表示 install,执行安装操作
- -v 显示详细过程(如文件路径、脚本执行等)
-
-h 在解压时用
#显示进度条
例如:sudo rpm -ivh nginx-1.24.0-1.el9.x86_64.rpm
⚠️ 注意:若提示缺失依赖(如 libxxx.so is needed),需先手动安装对应依赖包;也可加 --nodeps 强制跳过检查(不推荐用于系统关键包)。
怎么查已装了哪些 RPM 包
查全部:rpm -qa(输出成百上千行,建议配合 grep 过滤)
查某个包是否装了:rpm -q nginx(返回包名说明已装,报 package nginx is not installed 则未装)
查包的详细信息:rpm -qi nginx(含版本、打包者、安装时间、描述等)
查包里装了哪些文件:rpm -ql nginx(列出所有配置文件、二进制、文档路径)
怎么卸载和升级 RPM 包
卸载用 rpm -e nginx(-e = erase),注意只写包名,不带版本或架构后缀。
常见补充选项:
- --nodeps:忽略依赖关系强行卸载(慎用,可能影响其他软件)
- --allmatches:当同名多版本共存时,一次性卸载全部
升级用 rpm -Uvh package.rpm(-U = upgrade):
- 若软件未安装,则等效于
-i,直接安装 - 若已安装旧版,则替换文件、运行升级脚本、保留配置(通常不覆盖
/etc/下已有配置)
怎么定位文件属于哪个 RPM 包
当你看到一个命令或配置文件,想确认它是哪个包提供的,用 rpm -qf:
-
rpm -qf /usr/bin/sshd→ 返回openssh-server-9.3p1-5.el9.x86_64 -
rpm -qf $(which curl)→ 快速查当前curl命令来源
搭配 -qi 或 -ql 可进一步查看该包详情或文件列表,形成完整溯源链。










