
CentOS7.9のyumコマンド実行時にエラー
rpmというCentOSのパッケージ管理システムで起きたエラーの話になります。
Anacron job 'cron.daily'
/etc/cron.daily/logrotate:
サーバーを管理しているPleskからメールを受け取りました。毎日叩かれていたcronのようで、迷惑フォルダ に振り分けられ気付きませんでした。
エラー内容ですが、調べてみるとyumが何かしらで実行中にロックがかかり、以降処理が進まないがために一旦プロセスを強制終了する。これにより下記のrpmdbエラーが発生、データベース破損のお知らせが来ることとなった。
以前似たようなケースで、ゾンビプロセスが大量発生してしまいプロセスを強制終了すらできず、その結果、メモリが枯渇してしまう恐い経験もありました。しかし、今回はログを見る限りプロセスの強制終了は、しっかり行えているようなので気楽に対応できそうです。
error: rpmdb: BDB0113 Thread/process 23354/140189948721280 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
error: rpmdb: BDB0113 Thread/process 23354/140189948721280 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 database in /var/lib/rpm
rpm –rebuilddb コマンドでエラーが解決しました
参考:rpm -qa gets thread died in Berkeley DB library
rpm --rebuilddb
rpm –rebuilddb コマンド実行後に、エラーレスポンスがなければ修復完了です。
修復できたかどうか確認をする
$ yum list installed | grep openssl
openssl.x86_64 1:1.0.2k-22.el7_9 @updates
openssl-devel.x86_64 1:1.0.2k-22.el7_9 @updates
openssl-libs.x86_64 1:1.0.2k-22.el7_9 @updates
$ rpm -qa | grep openssl
openssl-1.0.2k-22.el7_9.x86_64
openssl-libs-1.0.2k-22.el7_9.x86_64
openssl-devel-1.0.2k-22.el7_9.x86_64
これでエラーメールも来なくなりました。
Be the first to comment