本篇博客为执行yum clean all 报 rpmdb open failed 错误提供解决方案。
报错
# 用 yum 安装软件时进程被终止,执行 yum clean all 操作报 rpmdb open failed 错误
[root@tencent ~]# yum clean all
Error: rpmdb open failed
解决办法
[root@tencent ~]# cd /var/lib/rpm
[root@tencent rpm]# ll
total 212360
-rw-r--r--. 1 root root 7028736 Aug 11 16:29 Basenames
-rw-r--r--. 1 root root 20480 May 15 16:57 Conflictname
-rw-r--r-- 1 root root 270336 Aug 11 16:29 __db.001
-rw-r--r-- 1 root root 81920 Aug 11 16:29 __db.002
-rw-r--r-- 1 root root 1318912 Aug 11 16:29 __db.003
-rw-r--r--. 1 root root 3944448 Aug 11 16:29 Dirnames
-rw-r--r--. 1 root root 32768 Aug 11 16:29 Group
-rw-r--r--. 1 root root 32768 Aug 11 16:29 Installtid
-rw-r--r--. 1 root root 98304 Aug 11 16:29 Name
-rw-r--r--. 1 root root 40960 Jun 22 20:27 Obsoletename
-rw-r--r--. 1 root root 200728576 Aug 11 16:29 Packages
-rw-r--r--. 1 root root 2715648 Aug 11 16:29 Providename
-rw-r--r--. 1 root root 720896 Aug 11 16:29 Requirename
-rw-r--r--. 1 root root 184320 Aug 11 16:29 Sha1header
-rw-r--r--. 1 root root 122880 Aug 11 16:29 Sigmd5
-rw-r--r--. 1 root root 8192 Jun 22 21:03 Triggername
[root@tencent rpm]# rm -rf __db.* # 清除原 rpmdb 文件
[root@tencent rpm]# rpm --rebuilddb # 重建 rpm 数据库
[root@tencent rpm]# yum clean all # 清除所有 yum 缓存
如果以上方法未能解决问题,请使用如下方法在继续操作:
#检查yum源配置文件
[root@tencent yum.repos.d]# ll
total 64
-rw-r--r-- 1 root root 614 Mar 29 17:09 CentOS-Base.repo
-rw-r--r-- 1 root root 1309 Nov 23 2018 CentOS-CR.repo
-rw-r--r-- 1 root root 649 Nov 23 2018 CentOS-Debuginfo.repo
-rw-r--r-- 1 root root 230 Mar 29 17:09 CentOS-Epel.repo
-rw-r--r-- 1 root root 314 Nov 23 2