在 Linux(特别是 Red Hat 系列,如 RHEL、CentOS、Fedora、Rocky、Alma 等)中,RPM(RPM Package Manager) 是最基础的软件包管理工具。下面从概念、常用命令、依赖管理、最佳实践几个方面系统说明如何管理 RPM 软件包。
.rpm 结尾的文件,包含软件程序、配置、元数据yum / dnf)✅ 日常推荐:
- 底层操作 →
rpm- 日常安装 →
dnf/yum
rpm -qa # 查看所有已安装包
rpm -q httpd # 查询某包是否安装
rpm -qi httpd # 查看包详细信息
rpm -ql httpd # 查看包安装的文件列表
rpm -qc httpd # 查看配置文件
rpm -qf /usr/bin/ls # 查询某文件属于哪个包
rpm -ivh package.rpm
参数说明:
-i 安装-v 显示过程-h 显示进度条⚠️ 如果依赖缺失,会报错(不会自动安装依赖)
rpm -Uvh package.rpm
rpm -e httpd
⚠️ 卸载不会删除配置文件(除非你手动删)
rpm -V httpd
输出示例:
S 文件大小变化M 权限变化5 MD5 变化用于安全审计非常有用。
dnf install httpd
dnf remove httpd
dnf update
✅ 自动解决依赖
rpm -ivh a.rpm b.rpm c.rpm
适合离线环境。
RPM 使用数据库记录安装信息:
/var/lib/rpm
rpm --rebuilddb
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centosofficial
校验签名:
rpm -K package.rpm
rpm -qpl package.rpm
rpm2cpio package.rpm | cpio -idmv
rpmbuild -ba xxx.spec
适合企业内部分发软件。
✅ 日常使用 dnf
✅ 排错、审计用 rpm
✅ 不要随意 --force / --nodeps
✅ 定期 rpm -Va 检查系统完整性
✅ 生产环境锁定关键包版本
| 问题 | 原因 | 解决 |
|---|---|---|
| 依赖失败 | 缺包 | 用 dnf |
| 包已安装 | 重复 | rpm -e 或 -U |
| 数据库损坏 | 异常关机 | rpm --rebuilddb |
| 签名失败 | 未导入 key | rpm --import |
如果你愿意,我可以:
你更想了解哪一部分?
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。