Chuyện của sys

DevOps Blog

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

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:

[root@monitor-srv ~]# mkdir /var/lib/rpm/backup
[root@monitor-srv ~]# cp -a /var/lib/rpm/__db* /var/lib/rpm/backup/
[root@monitor-srv ~]# rm -f /var/lib/rpm/__db.[0-9][0-9]*
[root@monitor-srv ~]# rpm –quiet -qa
[root@monitor-srv ~]# rpm –rebuilddb
 
[root@monitor-srv ~]# 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.
 

Tags: ,
Categories: Linh tinh

Leave a Reply

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