AI 助教问 AI 助教
东方瑞通 · 红帽RHCE

RPM 问题排障

解决软件包依赖问题、恢复损坏的 RPM 数据库、识别和恢复 RPM 管理的文件。

考点精讲

  1. 软件包排障分依赖与数据库两类。依赖问题用 dnf check 检查、dnf history 查看历史事务并可 rollback 回滚;强装(--nodeps)会留下隐患,应优先补装缺失依赖。RPM 数据库损坏时,先备份 /var/lib/rpm,再执行 rpm --rebuilddb 重建数据库。rpm -V 包 校验包内文件的权限、属主、内容是否被改动,帮助识别被篡改或误删的文件。dnf 是解决依赖的首选,rpm 用于底层校验与修复。

记忆技巧

「rebuilddb 修数据库、rpm -V 校验文件」。
「依赖问题找 dnf、数据库问题找 rpm」,各管一段。
「dnf history 可回滚」,改坏包用 history rollback 还原。

常见误区

  • 误区:依赖冲突时反复强装(--nodeps)。正解:强装留隐患,应 dnf 补装缺失依赖或 dnf history rollback 回滚。
  • 误区:RPM 数据库损坏未先备份就 rebuild。正解:先备份 /var/lib/rpm 再 rpm --rebuilddb,防止失败不可恢复。
  • 误区:混淆 rpm -V 与 rpm -qa。正解:rpm -V 校验文件完整性,rpm -qa 列出已安装包。

真题思路

  • 【示例】 RPM 数据库损坏,正确的处理顺序是?
    A. 先备份 /var/lib/rpm 再 rpm --rebuilddb B. 直接 rm -rf /var/lib/rpm C. 先 rpm -V 再 dnf install D. 直接 rpm --rebuilddb 无需备份
    答案:A
    解析:重建数据库前应先备份 /var/lib/rpm 以防失败;rpm -V 是校验文件完整性,与数据库重建不同。

常见问题

Q:RPM 数据库损坏怎么办

A:先备份 /var/lib/rpm 再 rpm --rebuilddb。

Q:怎么检查软件包依赖问题

A:dnf check 或 dnf history。

Q:怎么校验某个包的完整性

A:rpm -V 包名。

相关知识

教材出处:RH342 第5章 RPM 问题排障

AI 助教

让 AI 助教带你深入学习,把你卡住的地方直接问它

随时为您答疑解惑

开始答疑