error: rpmdb: BDB0113 が出たときの対処法

yumを実行していたら突然error: rpmdb: BDB0113 とエラーがでてしまいました。その対処法を調べて残しておきます

エラー内容

エラー内容はこんな感じです

error: rpmdb: BDB0113 Thread/process 2117/47703759374464 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

エラーの意味

rpmというパッケージ管理のデータベースが壊れてしまったという内容です。なんで壊れてしまったのかはわかりません。考えられるのとしては

  • yumアップデートなどをしている時にクラッシュ
  • yumが動かないのでkillして強制終了

等があげられます

修復方法

壊れてしまったので修復するしかないです。修正コマンドをいれます

$ sudo rpm --rebuilddb
# rpm --rebuilddb

sudoが使える場合はsudoで対応で良いと思います。sudoの設定などについてはCentOS7でsudo権限の設定をするを閲覧してください

個人支援・寄付について

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