yum提示Error: rpmdb open failed的解决方案

文章目录
  1. 1. 出错信息
  2. 2. 出错原因
  3. 3. 解决方案
    1. 3.1. 方案1 - 重建rpm数据库
    2. 3.2. 方案2 - 手动清理数据库
  4. 4. 参考资料

出错信息

rpmdb: /var/lib/rpm/__db.003: No such file or directory
error: db3 error(2) from dbenv->open: No such file or directory
Segmentation fault

出错原因

这多半是因为rpm数据库出现损坏所致,此错误可能导致多数(甚至是所有的)rpm软件的升级、安装甚至是删除都会出现问题。

解决方案

方案1 - 重建rpm数据库

[root@www rpm]# rm -f __db.*        # 清除原rpmdb文件
[root@www rpm]# rpm --rebuilddb     # 重建rpm数据库
[root@www rpm]# yum clean all       # 清除所有yum的缓存

方案2 - 手动清理数据库

[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的文件或者

参考资料

-使用yum提示Error: rpmdb open failed的解决方案