rpm 包管理基础:在麒麟上安装与查询
讲银河麒麟上 rpm 的基础用法:安装/卸载/查版本/查文件归属/查包依赖等常用命令,以及 rpm 与 dnf 的配合边界。
结论先行
在 V11 服务器条目 上,rpm 是底层包数据库与安装器:查已装包、看文件归属、装单个离线包用它;带依赖解析的批量操作交给 dnf(分工见 麒麟系列总览)。
常用命令速查
# 安装 / 升级
rpm -ivh pkg.rpm
rpm -Uvh pkg.rpm # 升级,含全新安装
# 卸载
rpm -e pkgname
# 查版本与最近安装
rpm -q pkgname
rpm -qa --last | head
# 查文件属于哪个包
rpm -qf /usr/bin/某程序
# 查包依赖
rpm -qR pkgname # 需要谁
rpm -q --whatprovides /某路径
# 按前缀校验包文件
rpm -V pkgname
装离线 rpm 的规矩
- 包与本机
uname -m架构一致,否则直接装不上。 - 缺依赖先补齐,别用
--nodeps硬压(会破坏后续更新)。 - 离线包介质参考 麒麟系列总览,介质制作参考 Rufus 条目。
查而不改的排查三板斧
rpm -q确认版本 —— 很多「版本不对」就是没升到目标小版本。rpm -qf确认文件归属 —— 判断某二进制是不是被别的包覆盖过。rpm -qa --last看最近装了什么 —— 出问题时间点前后的包是重点嫌疑。
用
rpm -e卸包前先用rpm -qR查反向依赖,避免拆掉正被使用的组件;卸载与批量更新优先走 dnf。
常见误区
- 直接
rpm -ivh装一个,绕过了 dnf 的依赖与仓库管理,系统里混来源的包日后升级互相打架。 - 把 rpm 当唯一工具:仓库、缓存、依赖解析这些活它不做。