[toc]

今天在进行 yum 安装软件包的时候,非常慢,然后进行了 kill -9 操作,准备重新 make cache,出现了Thread died in Berkeley DB library错误,搜索一番进行如下解决。

os :CentOS Linux release 7.6.1810 (Core)

1
2
3
4
5
6
7
[root@bjproxy log]# yum make cache
error: rpmdb: BDB0113 Thread/process 12349/140335812044608 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
1
2
3
4
5
6
7
[root@bjproxy log]# yum make cache
error: rpmdb: BDB0113 Thread/process 12349/140335812044608 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 - (-30973)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:
Error: rpmdb open failed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
[root@bjproxy rpm]# ll
total 174252
-rw-r--r--. 1 root root   4378624 Mar 24 08:24 Basenames
-rw-r--r--. 1 root root     16384 Mar 18 11:59 Conflictname
-rw-r--r-- 1 root root   311296 Mar 24 08:24 __db.001
-rw-r--r-- 1 root root     90112 Mar 24 08:24 __db.002
-rw-r--r-- 1 root root   1318912 Mar 24 08:24 __db.003
-rw-r--r--. 1 root root   2265088 Mar 24 08:24 Dirnames
-rw-r--r--. 1 root root     32768 Mar 24 08:24 Group
-rw-r--r--. 1 root root     28672 Mar 24 08:24 Installtid
-rw-r--r--. 1 root root     53248 Mar 24 08:24 Name
-rw-r--r--. 1 root root     20480 Mar 18 11:59 Obsoletename
-rw-r--r--. 1 root root 167354368 Mar 24 08:24 Packages
-rw-r--r--. 1 root root   2129920 Mar 24 08:24 Providename
-rw-r--r--. 1 root root   372736 Mar 24 08:24 Requirename
-rw-r--r--. 1 root root     90112 Mar 24 08:24 Sha1header
-rw-r--r--. 1 root root     61440 Mar 24 08:24 Sigmd5
-rw-r--r--. 1 root root     8192 Mar 18 11:59 Triggername
[root@bjproxy rpm]# pwd
/var/lib/rpm
[root@bjproxy rpm]#

以下是解决步骤,备份rpmdb database然后重建,

1
2
3
4
5
6
mkdir /var/lib/rpm/backup 
cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
rm -f /var/lib/rpm/__db.[0-9][0-9]*
rpm --quiet -qa
rpm --rebuilddb
yum clean all
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[root@bjproxy log]#   mkdir /var/lib/rpm/backup
[root@bjproxy log]# cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
[root@bjproxy log]# rm -f /var/lib/rpm/__db.[0-9][0-9]*
[root@bjproxy log]# rpm --quiet -qa
[root@bjproxy log]# rpm --rebuilddb
[root@bjproxy log]# yum clean all
Loaded plugins: fastestmirror, langpacks
Cleaning repos: epel extras os updates
Cleaning up list of fastest mirrors
[root@bjproxy log]# yum install -y compat-libcap1 device-mapper-multipath expect ftp ksh libaio-devel libtool-ltdl sysstat unixODBC unixODBC-devel
Loaded plugins: fastestmirror, langpacks
Determining fastest mirrors
epel                                                                                                                                                                                 4.7 kB 00:00:00
extras                                                                                                                                                                               2.9 kB 00:00:00
os                                                                                                                                                                                   3.6 kB 00:00:00
updates                                                                                                                                                                             2.9 kB 00:00:00
(1/7): epel/7/x86_64/group_gz                                                                                                                                                       96 kB 00:00:00
(2/7): epel/7/x86_64/updateinfo                                                                                                                                                     1.0 MB 00:00:00
(3/7): os/7/x86_64/group_gz                                                                                                                                                         153 kB 00:00:00
(4/7): extras/7/x86_64/primary_db                                                                                                                                                   246 kB 00:00:00
(5/7): epel/7/x86_64/primary_db                                                                                                                                                     7.0 MB 00:00:01
(6/7): os/7/x86_64/primary_db                                                                                                                                                       6.1 MB 00:00:01
(7/7): updates/7/x86_64/primary_db                                                                                                                                                15 MB 00:00:01

参考

https://cloudlinux.zendesk.com/hc/en-us/articles/115004075294-Fix-rpmdb-Thread-died-in-Berkeley-DB-library

原文作者: liups.com

原文链接: http://liups.com/posts/1adeb6d0/

许可协议: 知识共享署名-非商业性使用 4.0 国际许可协议