CentOS 7——yum錯誤[Error: rpmdb open failed]解決方案

問題描述

錯誤:rpmdb: BDB0113 Thread/process 12846/139645757323072 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

或者 

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軟件的升級、安裝甚至是刪除都會出現問題。 

解決方案

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

 

參考文章

https://www.jianshu.com/p/c531e28de195

https://www.cnblogs.com/liutao97/p/7816788.html

https://blog.csdn.net/liyinwang/article/details/70048346

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章