学习笔记 · 2021年3月22日

Error: rpmdb open failed 问题处理

浏览:75

今天在处理腾讯云服务器漏洞的时候,突然出现 Error: rpmdb open failed 的错误,如下:

[root@huangzz ~]# yum makecache fast
error: rpmdb: BDB0113 Thread/process 18202/139807114319936 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 数据库损坏引起的,很有可能与昨天磁盘空间爆满的问题相关。rebuild 一下 rpm 数据库就能解决问题了:

rpm --rebuilddb;
yum clean all;
yum makecache fast;

如果问题依旧,可手动删除数据库后重试:

find /var/lib/rpm -type f -name "__db.*" -delete;
yum clean all;
yum makecache fast;