yum 操作中斷(如網路不穩、進程被 kill)導致 rpm 資料庫 (Berkeley DB) 損毀,報錯 db3 error(-30974) ... DB_RUNRECOVERY: Fatal error, run database recovery。本文提供標準修復流程。
yum clean all
rpmdb: Thread/process ... failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3
error: cannot open Packages database in /var/lib/rpm
rm -f /var/lib/rpm/__db* # 刪除 Berkeley DB 環境鎖定檔
rpm --rebuilddb # 重建 rpm 資料庫索引
yum clean all # 清理 yum 快取並驗證恢復正常
__db* 為 Berkeley DB 的環境檔(鎖、日誌等),損毀時刪除讓 rpm 重建。rpm --rebuilddb 重掃 /var/lib/rpm/Packages 重建索引。/var/lib/rpm 目錄。yum-plugin-fs-snapshot 配合 LVM 快照。