导读 本文档根据 rpmdb open failed 报错提供解决方案。
报错
# 用 yum 安装软件时进程被终止,执行 yum clean all 操作报 rpmdb open failed 错误
[root@localhost ~]# yum clean all
Error: rpmdb open failed
解决方法
[root@localhost ~]# cd /var/lib/rpm
[root@localhost rpm]# ll
total 97412
-rw-r--r--. 1 root root  1839104 Jul 11 06:45 Basenames
-rw-r--r--. 1 root root     8192 Jul 11 06:41 Conflictname
-rw-r--r--. 1 root root   270336 Jul 11 06:48 __db.001
-rw-r--r--. 1 root root    81920 Jul 11 06:48 __db.002
-rw-r--r--. 1 root root  1318912 Jul 11 06:48 __db.003
-rw-r--r--. 1 root root   606208 Jul 11 06:45 Dirnames
-rw-r--r--. 1 root root    16384 Jul 11 06:45 Group
-rw-r--r--. 1 root root    12288 Jul 11 06:45 Installtid
-rw-r--r--. 1 root root    28672 Jul 11 06:45 Name
-rw-r--r--. 1 root root    16384 Jul 11 06:41 Obsoletename
-rw-r--r--. 1 root root 93446144 Jul 11 06:45 Packages
-rw-r--r--. 1 root root  1957888 Jul 11 06:45 Providename
-rw-r--r--. 1 root root   180224 Jul 11 06:45 Requirename
-rw-r--r--. 1 root root    49152 Jul 11 06:45 Sha1header
-rw-r--r--. 1 root root    32768 Jul 11 06:45 Sigmd5
-rw-r--r--. 1 root root     8192 Jul 11 06:41 Triggername
[root@localhost rpm]# rm -rf __db.*    # 清除原 rpmdb 文件
[root@localhost rpm]# rpm --rebuilddb  # 重建 rpm 数据库
[root@localhost rpm]# yum clean all    # 清除所有 yum 缓存

如果以上方法未能解决问题,请按照下面的方法再继续操作:

# 检查 yum 源配置文件
[root@localhost rpm]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# ll
total 40
-rw-r--r--. 1 root root 1664 Nov 23  2018 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  314 Nov 23  2018 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  630 Nov 23  2018 CentOS-Media.repo
-rw-r--r--. 1 root root 1331 Nov 23  2018 CentOS-Sources.repo
-rw-r--r--. 1 root root 5701 Nov 23  2018 CentOS-Vault.repo
-rw-r--r--. 1 root root  951 Oct  2  2017 epel.repo
-rw-r--r--. 1 root root 1050 Oct  2  2017 epel-testing.repo

# 更新 yum 源
[root@localhost yum.repos.d]# yum update -y --skip-broken

# 清除所有 yum 缓存
[root@localhost yum.repos.d]# yum clean all
Loaded plugins: fastestmirror
Cleaning repos: base epel extras updates
Cleaning up list of fastest mirrors

# 重建 yum 缓存
[root@localhost yum.repos.d]# yum makecache
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink                                                            | 7.1 kB  00:00:00     
 * base: mirrors.cn99.com
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
base                                                                            | 3.6 kB  00:00:00     
epel                                                                            | 5.3 kB  00:00:00     
extras                                                                          | 3.4 kB  00:00:00     
updates                                                                         | 3.4 kB  00:00:00     
(1/19): base/7/x86_64/group_gz                                                  | 166 kB  00:00:00     
(2/19): epel/x86_64/group_gz                                                    |  88 kB  00:00:01     
(3/19): base/7/x86_64/other_db                                                  | 2.6 MB  00:00:09     
(4/19): base/7/x86_64/filelists_db                                              | 7.1 MB  00:00:48     
(5/19): base/7/x86_64/primary_db                                                | 6.0 MB  00:00:48     
(6/19): epel/x86_64/filelists_db                                                |  11 MB  00:01:03     
(7/19): epel/x86_64/updateinfo                                                  | 991 kB  00:00:03     
(8/19): epel/x86_64/prestodelta                                                 |  746 B  00:00:00     
(9/19): epel/x86_64/primary_db                                                  | 6.7 MB  00:00:14     
(10/19): epel/x86_64/other_db                                                   | 3.2 MB  00:00:03     
(11/19): extras/7/x86_64/prestodelta                                            |  65 kB  00:00:00     
(12/19): extras/7/x86_64/filelists_db                                           | 246 kB  00:00:01     
(13/19): extras/7/x86_64/primary_db                                             | 205 kB  00:00:01     
(14/19): epel/x86_64/updateinfo_zck                                             | 1.4 MB  00:00:01     
(15/19): updates/7/x86_64/other_db                                              | 659 kB  00:00:04     
(16/19): updates/7/x86_64/prestodelta                                           | 829 kB  00:00:06     
(17/19): updates/7/x86_64/filelists_db                                          | 4.6 MB  00:00:10     
extras/7/x86_64/other_db       FAILED                                           |  48 MB  00:00:30 ETA 
http://mirrors.njupt.edu.cn/centos/7.6.1810/extras/x86_64/repodata/1ec00fbe7ea9747f9fe6a967fd09fd6cc270834316dfb69d7a80097b4b9a0cd4-other.sqlite.bz2: [Errno 14] HTTP Error 302 - Found
Trying other mirror.
(18/19): extras/7/x86_64/other_db                                               | 127 kB  00:00:01     
(19/19): updates/7/x86_64/primary_db                                            | 6.5 MB  00:00:38     
Metadata Cache Created
测试
[root@localhost yum.repos.d]# yum install -y wget
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.cn99.com
 * epel: mirror01.idc.hinet.net
 * extras: mirrors.cn99.com
 * updates: mirrors.cn99.com
Resolving Dependencies
--> Running transaction check
---> Package wget.x86_64 0:1.14-18.el7_6.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================================
 Package             Arch                  Version                        Repository              Size
=======================================================================================================
Installing:
 wget                x86_64                1.14-18.el7_6.1                updates                547 k

Transaction Summary
=======================================================================================================
Install  1 Package

Total download size: 547 k
Installed size: 2.0 M
Downloading packages:
wget-1.14-18.el7_6.1.x86_64.rpm                                                 | 547 kB  00:00:09     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : wget-1.14-18.el7_6.1.x86_64                                                         1/1 
  Verifying  : wget-1.14-18.el7_6.1.x86_64                                                         1/1 

Installed:
  wget.x86_64 0:1.14-18.el7_6.1                                                                        

Complete!
# 已成功解决 Error: rpmdb open failed

本文原创地址:https://www.linuxprobe.com/rpmdb-open-failed.html编辑:public,审核员:逄增宝