一、问题/现象:
使用yum命令安装软件包时,报错“无法从 /var/lib/rpm 打开软件包数据库”:
[root@localhost ~]# yum install dhcp -y
错误:rpmdb: BDB0113 Thread/process 2545/139799458023232 failed: BDB1507 Thread died in Berkeley DB library
错误:db5 错误(-30973) 来自 dbenv->failchk:BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
错误:无法使用 db5 - (-30973) 打开 Packages 索引
错误:无法从 /var/lib/rpm 打开软件包数据库
CRITICAL:yum.main:
Error: rpmdb open failed
二、原因:
误操作导致 rpm 数据库损坏。(/var/lib/rpm 目录下的文件被损坏)
三、解决方法:
当RPM 数据库发生损坏,可通过重建RPM数据库修复。操作步骤:
1) 首先删除当前的RPM数据库,位于/var/lib/rpm 目录下。
[root@localhost ~]# cd /var/lib/rpm
[root@localhost rpm]# ls
Basenames __db.002 Group Obsoletename Requirename Triggername
Conflictname __db.003 Installtid Packages Sha1header
__db.001 Dirnames Name Providename Sigmd5
[root@localhost rpm]# rm -rf __db.* //删除当前的RPM数据库
2) 然后使用 " rpm --rebuilddb " 命令 , 重新构建rpm数据库。
[root@localhost rpm]# rpm --rebuilddb //重建RPM数据库