关于rpm -qa命令报错-cannot open Packages database的解决方法


最近在一台linux服务器上,执行rpm -qa命令时,报如下错误:

[root@qq_5201351 ~]# rpm -qa
error: rpmdb: BDB0113 Thread/process 1685/139832756086336 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 1685/139832756086336 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
[root@qq_5201351 ~]# 

通过各种资料查询才知道,原因是系统已经安装的rpm包数据信息-数据库损坏

解决方法,重新构建rpm信息数据库:

[root@qq_5201351 ~]# cp -a /var/lib/rpm /var/lib/rpm.bak.202201
[root@qq_5201351 ~]# cd /var/lib/rpm
[root@qq_5201351 ~]# rm -f __db.*
[root@qq_5201351 ~]# rpm --rebuilddb

然后再次执行rpm -qa 命令进行查询,就正常查询出系统中安装的rpm包软件了,问题解决~

 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/15829746.html

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM