rpmdbが壊れている可能性があります。
rpmdbが壊れる原因は様々考えられますが、
最も多いのがdnfコマンド途中でプロセスをkillしてまう、
またはrpmdb更新中にPCやサーバーがクラッシュして処理が途中停止する
などが考えられます。
■rpmdbが壊れた時のエラーメッセージ
エラー: rpmdb: BDB0113 Thread/process 1473/140098314725248 failed: BDB1507 Thread died in Berkeley DB library エラー: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery エラー: cannot open Packages index using db5 - (-30973) エラー: /var/lib/rpm にある Package データベースを開けません。 警告: NetworkManager-1.30.0-9.el8_4.x86_64.rpm: ヘッダー V3 RSA/SHA256 Signature、鍵 ID fd431d51: NOKEY エラー: rpmdb: BDB0113 Thread/process 1473/140098314725248 failed: BDB1507 Thread died in Berkeley DB library エラー: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery エラー: cannot open Packages index using db5 - (-30973) エラー: /var/lib/rpm にある Package データベースを開けません。
rpmdbの修復手順
壊れたrpmdbは、再構築することで修復することできます。下記rpmコマンドを実行します。
# rpm --rebuilddb
他のrpmdb修復手順
その他の修復手順としては、次の方法があります。
# rm -f /var/lib/rpm/__db*
# rpm --rebuilddb
# dnf clean rpmdb
# dnf clean all
# dnf makecache
/var/lib/rpmを削除してしまった場合の手順
上記の手順で修復出来ない場合、 /var/lib/rpmファイルを削除してしまっている可能性があります。 その場合は、rpmdbを初期化することで修復できる場合があります。 初期化コマンドは次の通りです。# rpm --initdb
P.S
rpmdbが壊れた場合の修復手順など、より高度な現場のLinux技術をマスターしたいなら
↓
詳しくはこちらをクリック
P.P.S
Linuxインストールマニュアルのダウンロードはこちら
<<関連記事>>
・Ubuntu20.04+Apacheのインストールエラー対策
・FortiGuardのスパムメールブロックを解除方法
・LinuxにUSB外付けHDDを接続する(NTFSフォーマットの場合要注意)
・viエディタ(vim)で「readonlyオプションが設定されています」と表示された場合
・yumコマンドがロックファイルエラーになった時の対処
- 次のページへ:Ubuntu20.04+Apacheのインストールエラー対策
- 前のページへ:FortiGuardのスパムメールブロックを解除方法
- この記事の属するカテゴリ:Linuxエラー対処法へ戻る