WeAir

yum提示Error: rpmdb open failed

起因

使用yum update更新软件包时,进程被杀死,再次yum update时,出现如下错误:

1
2
3
4
5
6
7
error: rpmdb: BDB0113 Thread/process 228046/140448106682176 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数据库出现损坏。

解决办法

删除/var/lib/rpm/路径下的以__db.开头的文件(建议提前备份)

1
sudo rm /var/lib/rpm/__db.*

重建rpm数据库

1
sudo rpm --rebuilddb

清除所有yum的缓存

1
sudo yum clean all

然后,再重新执行yum update命令就能升级软件包了。