清理yum缓存提示错误 rpmdb: Thread/process 24307/140520328255392 failed: Thread died in Befkeley DB library

执行命令后的错误提示:

[root@redhat]# yum clean all
rpmdb: Thread/process 24307/140520328255392 failed: Thread died in Befkeley 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:

Error: rpmdb open failed

#rpmdb:线程/进程 24307/140520328255392 失败:线程在 Befkeley DB 库中死亡 
#错误:来自 dbenv-›failchk 的 db3 错误 (-30974):DB_RUNRECOVERY:致命错误,运行数据库 恢复 
#错误:无法使用 db3 打开包索引 - (-30974) 
#错误:无法在 /var/lib/rpm 中打开 Packages 数据库 
#关键:yum.main:
#
#错误:rpmdb 打开失败 

这种情况为rpm数据库损坏导致yum与rpm相关命令均无法使用,以上内容也提示到/var/lib/rpm,正是rpm数据库临时文件所在路径。

解决方案:

重新构建rpm数据库

#进入rpmdb所在路径
cd /var/lib/rpm/
#列出相关文件找到__db.*
ls
#删除或者移动rpmdb文件,我是新建目录后移动该文件
mkdir old
mv _db.* old/
#完成后重建rpm数据库
rpm --rebuilddb

重建完成后再次执行yum clean all问题解决

你可能感兴趣的:(故障处理,问题类,缓存,linux,centos)