yum 安装更新提示 rpmdb: Thread/process failed: Thread died in Berkeley DB library

yum 安装更新提示 rpmdb: Thread/process failed: Thread died in Berkeley DB library

在服务器(centos系统)上使用yum/rpm时的一个报错,如下:

#yum install -y wget
rpmdb: Thread/process 5542/139697184122624 failed:Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 – (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

 

对于cpanel用户,相应遇到相关的错误,如WHM>>Restart Services重启任何服务,均会报以下错误:

图片1

还有cpanel切换PHP版本(select PHP version):

图片2

以上情况,均因为RPM数据库出现损坏导致.它导致所有的软件的升级、安装甚至删除都会出现问题.

网上查看,一共有以下几种方法:

<1>备份>>重建RPM库

su  – root

cd /var/lib/rpm/

for i in ‘ls | grep ‘db.”;do mv $i $i.bak;done #做一下备份

rpm –rebuilddb #重建该数据库(rebuild the database indices from the installed package headers)

yum clean all

注意区别:–rebuilddb:重建已经安装的RPM资料库 ,–initdb:创建一个新的RPM资料库

 

<2>暴力删除,然后update(常见)

rm -rf /var/lib/rpm/_db.*

yum update

 

<3>备份服务器恢复备份(个人)

因为本人管理的服务器存在备份,所以做了以下操作:

cd /var/lib/

mv rpm rpmold

通过备份服务器恢复了rpm目录数据(恢复数据时间依个人而定),再次执行yum命令时,正常.