Error: rpmdb open failedのエラーが出たときの対処法

GCPでyumを使おうとしたら、突然Error: rpmdb open failedというエラーがでました。

エラーコード

[root@instance-1 ~]# yum install epel-release
error: rpmdb: BDB0113 Thread/process 5682/139656188462912 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

こんなエラーでした。このエラーが考えられるのがディスク容量100%だったり、rpmdbそのものが破損という事らしいです。おそらくrpmdbの破損だと思いますが念のためディスクも確認してみます。

ディスク確認

[root@instance-1 rpm]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        15G  3.0G   13G  20% /
devtmpfs        287M     0  287M   0% /dev
tmpfs           294M     0  294M   0% /dev/shm
tmpfs           294M   34M  261M  12% /run
tmpfs           294M     0  294M   0% /sys/fs/cgroup
tmpfs            59M     0   59M   0% /run/user/1000

特にディスク容量が一杯というのはないみたいですなので今回はrpmdbの破損だと思います

対処法

/var/lib/rpm の中のファイルを削除することでOKです

[root@instance-1 ~]# cd /var/lib/rpm
[root@instance-1 rpm]# rm __db.00*
rm: remove regular file ‘__db.001’? y
rm: remove regular file ‘__db.002’? y
rm: remove regular file ‘__db.003’? y

削除できたらyumを実行してみます。

[root@instance-1 rpm]# yum install epel-release
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/x86_64/metalink                                                                                                                                                                                                                                                                                 |  15 kB  00:00:00
 * base: mirror.as24220.net
 * epel: mirrors.cat.pdx.edu
 * extras: mirror.as24220.net
 * updates: mirror.as24220.net
base                                                                                                                                                                                                                                                                                                 | 3.6 kB  00:00:00
epel                                                                                                                                                                                                                                                                                                 | 3.2 kB  00:00:00
extras                                                                                                                                                                                                                                                                                               | 3.4 kB  00:00:00
google-cloud-compute/signature                                                                                                                                                                                                                                                                       |  454 B  00:00:00
google-cloud-compute/signature                                                                                                                                                                                                                                                                       | 1.8 kB  00:00:00 !!!
google-cloud-sdk/signature                                                                                                                                                                                                                                                                           |  454 B  00:00:00
google-cloud-sdk/signature                                                                                                                                                                                                                                                                           | 1.4 kB  00:00:00 !!!
nginx                                                                                                                                                                                                                                                                                                | 2.9 kB  00:00:00
updates                                                                                                                                                                                                                                                                                              | 3.4 kB  00:00:00
webmin                                                                                                                                                                                                                                                                                               | 1.0 kB  00:00:00
epel/x86_64/primary            FAILED
http://mirror.team-cymru.com/epel/7/x86_64/repodata/1161d6b4bc70c3e64739a4d4ba8f2d81aa50aa53e167ec9f1c2b2fe874148fdd-primary.xml.gz: [Errno 14] HTTP Error 404 - Not Found                                                                                                                ]  0.0 B/s |    0 B  --:--:-- ETA
Trying other mirror.
To address this issue please refer to the below wiki article

https://wiki.centos.org/yum-errors

If above article doesn't help to resolve this issue please use https://bugs.centos.org/.

(1/3): google-cloud-sdk/primary                                                                                                                                                                                                                                                                      |  32 kB  00:00:00
(2/3): epel/x86_64/updateinfo                                                                                                                                                                                                                                                                        | 930 kB  00:00:01
(3/3): epel/x86_64/primary                                                                                                                                                                                                                                                                           | 3.5 MB  00:00:02
epel                                                                                                                                                                                                                                                                                                            12617/12617
google-cloud-sdk                                                                                                                                                                                                                                                                                                    200/200
Package epel-release-7-11.noarch already installed and latest version
Nothing to do

問題無く実行できました

個人支援・寄付について

サイトラボではBuildreeの開発などのため、現在個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではkyashというサービスをつかっております。ビットコインでも受け付けております。