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

GCPでyumを使おうとしたら、突然Error: rpmdb open failedというエラーがでました。
エラーコード
[c]
[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
[/c]
こんなエラーでした。このエラーが考えられるのがディスク容量100%だったり、rpmdbそのものが破損という事らしいです。おそらくrpmdbの破損だと思いますが念のためディスクも確認してみます。
ディスク確認
[c]
[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
[/c]
特にディスク容量が一杯というのはないみたいですなので今回はrpmdbの破損だと思います
対処法
/var/lib/rpm の中のファイルを削除することでOKです
[c]
[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
[/c]
削除できたらyumを実行してみます。
[c]
[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
[/c]
問題無く実行できました
個人支援・寄付について
サイトラボでは個人支援・寄付を受けております。ご協力いただける方はお願いいたします。当サイトではビットコインで受け付けております。
- ビットコイン:3LHnADwZwUbic2L45EnVJEykiG6KfbqrwS