error: cannot open Packages database in /var/lib/rpm
问题出现
在公网服务器上通过yum 安装软件工具报错如下:
error: rpmdb: BDB0113 Thread/process 6118/140314029467456 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
问题解析:这个问题是由于 RPM 包管理数据库损坏导致的错误。具体表现为在使用 yum 或 rpm 命令时,系统提示 BDB0113 和 DB_RUNRECOVERY 等 Berkeley DB 数据库错误,最终导致无法访问软件包信息。
解决方案
1.备份数据库(可选)
cp -a /var/lib/rpm /var/lib/rpm.bak
2.删除损坏的锁文件
rm -f /var/lib/rpm/__db.*
3.重建 RPM 数据库
rpm --rebuilddb
4.验证
重新执行yum 下载软件的命令即可成功。