默认 308 0

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

    AI摘要:使用yum或rpm安装包时,可能会遇到"Error: rpmdb open failed"的错误。这通常是由于rpm数据库损坏导致的,可能会影响到软件的升级、安装和删除。解决方法是以root身份在终端中执行一系列命令,包括重命名或删除原有的rpmdb文件,然后重新构建rpm数据库和清除yum缓存。详细步骤请参考原文链接。

    使用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的缓存
    本文出自 “Craft Life” 博客,请务必保留此出处http://allenh.blog.51cto.com/481430/1739188
    老孙
    资深网民孙先生