今天有在CentOS云服务器中使用yum命令安装软件的时候有报错"Error: rpmdb open failed"。

error: rpmdb: BDB0113 Thread/process 2229/140657048729600 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数据库被破坏导致的,我们需要重建数据库后恢复正常。

cd /var/lib/rpm/
for i in `ls | grep 'db.'`;do mv $i $i.bak;done
rpm --rebuilddb
yum clean all