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

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

エラー内容

エラー内容はこんな感じです [c] 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 [/c]

エラーの意味

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

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

等があげられます

修復方法

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

[c] $ sudo rpm --rebuilddb

rpm --rebuilddb

[/c]

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