thirose’s blog

openstackやpythonなどなど

yumでDBが壊れた場合の対処

稀にしか遭遇しなくて、毎回忘れて調べてるので備忘録

久々にyum upgradeとかyum installとかしようとするとエラーがでます。

  error: rpmdb: BDB0113 Thread/process 159007/140390399924224 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

ちなみにこのエラーが出たのは、CentOS7.5ですが、RedHad系のOSならだいたい同じかと思います。

こういったエラーが出た時は、 rm -rf /var/lib/rpm/__db.00*して、rpm --rebuilddbするのが一番早いです。
というのも、yumのデータベースが壊れてしまっているので、再構築するのがてっとり早いです。