数週間触っていなかったEC2(Amazon Linux 2 AMI)にログインして yum update してみると…
$ sudo yum update
エラー: rpmdb: BDB0113 Thread/process 20975/139954635883712 failed: BDB1507 Thread died in Berkeley DB library
エラー: db5 エラー (-30973) (dbenv->failchk において): BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
エラー: Packages インデックスを db5 で開けません - (-30973)
エラー: /var/lib/rpm にある Package データベースを開けません。
CRITICAL:yum.main:
なんだろ…「run database recovery」ってあるから、yumのデータベースを修復しろってことだろうな。なんで壊れたのかはわからんが、修復方法を探してみるか…
修復方法
$ sudo rpm --rebuilddb
上記実行後に「sudo yum update」できた。
他にも未確認だが、以下でもよいらしい。
sudo yum clean rpmdb
sudo yum clean all
sudo yum makecache
原因
どうも、yumが動いているときにプロセスを落としたらしい…
いや、そんなことやってないが、メモリが足りないせいで、killされたりしているんだろうなと。メモリ512MBだし…
コメント