排错集01——使用yum命令提示“错误:无法从 /var/lib/rpm 打开软件包数据库”

312 阅读1分钟

一、问题/现象:

使用yum命令安装软件包时,报错“无法从 /var/lib/rpm 打开软件包数据库”:

微信图片_20220327193702.png

微信图片_20220327193647.png

 [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数据库

微信图片_20220327193708.png