使用yum提示Error: rpmdb open failed的解决方案
使用yum或者rpm安装包时出现问题,安装时报出大约如下错误
rpmdb: Thread/process35884/139793484506880failed: Thread died inBerkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot openPackages index using db3 - (-30974)
error: cannot openPackages database in/var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb openfailed
这多半是因为rpm数据库出现损坏所致,此错误可能导致多数(甚至是所有的)rpm软件的升级、安装甚至是删除都会出现问题。
解决办法如下:
修复此错误,请以root身份在终端输入以下命令
[root@www~]# cd /var/lib/rpm # rpmdb所在目录
[root@www rpm]# ls | grep 'db.' # 列出相关rpmdb文件
__db.001
__db.002
__db.003
__db.004
[root@www rpm]# for i in $(ls | grep 'db.');do mv $i $i.bak;done
# 将原rpmdb文件都更名为结尾带.bak的文件
或者
[root@www rpm]# rm -f __db.* # 清除原rpmdb文件
[root@www rpm]# rpm --rebuilddb # 重建rpm数据库
[root@www rpm]# yum clean all # 清除所有yum的缓存