Linux 故障排查全攻略
1. 修复 RPM 数据库和缓存
在 Linux 系统中,所有 RPM 包的信息都存储在本地的 RPM 数据库里。尽管相较于早期的 Fedora 和 RHEL 版本,RPM 数据库损坏的情况已大幅减少,但仍有可能发生。一旦数据库损坏,就会导致无法安装、删除或列出 RPM 包。
若发现 rpm
和 yum
命令挂起或失败,并返回 rpmdb open fails
消息,可尝试重建 RPM 数据库。可通过运行 yum check
命令来验证 RPM 数据库是否存在问题,以下是数据库损坏时该命令的输出示例:
# yum check
error: db4 error(11) from dbenv->open: Resource temporarily unavailable
error: cannot open Packages index using db4 - Resource temporarily
unavailable (11)
error cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open fails
RPM 数据库及已安装 RPM 包的其他信息存储在 /var/lib/rpm
目录。可以删除以 __db*
开头的数据库文件,然后根据该目录中其他文件