[Fix lỗi] rpmdb: Thread/process xxx failed: Thread died in Berkeley DB library

Hỏi nhỏ

Bạn có biết command này để làm gì ko?

rpm -q –queryformat ‘%{VERSION}’ centos-release

Command này để lấy được version CentOS của server , thường được tìm thấy trong /etc/centos-release, ví dụ, đây là con server của mình.

cat /etc/centos-release

CentOS release 6.9 (Final)

Nhưng không may là khi chạy thì nó gặp lỗi sau:

rpmdb: Thread/process 15564/140193669781248 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 – (-30974)
error: cannot open Packages database in /var/lib/rpm
rpmdb: Thread/process 15564/140193669781248 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 database in /var/lib/rpm
package centos-release is not installed

🙁 Có vẻ như là DB của rpm có vấn đề.

Cách giải quyết

Mình thử yum clean all thử:

yum clean all

rpmdb: Thread/process 15564/140193669781248 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 – (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

Éc, rõ ràng là rpmdb ko thể mở được rồi, giờ chỉ có cách xóa đi và rebuild lại thôi.

Mình thử các command sau:

[[email protected] ~]# mkdir /var/lib/rpm/backup
[[email protected] ~]# cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
[[email protected] ~]# rm -f /var/lib/rpm/__db.[0-9][0-9]*
[[email protected] ~]# rpm –quiet -qa
[[email protected] ~]# rpm –rebuilddb

 

[[email protected] ~]# yum clean all

Loaded plugins: fastestmirror, security
Cleaning repos: base centos-sclo-rh centos-sclo-sclo epel extras google-cloud-compute labs_consol_stable updates
Cleaning up Everything
Cleaning up list of fastest mirrors

Sau đó check lại:

rpm -q –queryformat ‘%{VERSION}’ centos-release

6

Ra kết quả rồi này 😀

Cảm ơn bài viết đã giúp mình xử lý vấn đề trong 1p.

 

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.