Error: rpmdb open failed错误修复方法

CentOs系统yum命令提示Error: rpmdb open failed错误,搜索发现是RPM数据库损坏引起的,解决办法如下:

[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的缓存