苏南大叔在解决libpng的问题的时候,试图使用yum install命令,结果确得到了一个Packages database错误。真是颠覆认知。那么,如何解决这个yum的数据库错误呢?请看本文的内容。

苏南大叔:centos系统,如何解决yum的database错误? - centos-yum-database
centos系统,如何解决yum的database错误?(图3-1)

本文测试环境:centos@7.7.1908yum@3.4.3

报错信息

试图使用yum安装libpng-devel的时候。执行的命令是:

yum install libpng-devel

错误提示信息是:

error: rpmdb: BDB0113 Thread/process 3150/139639109408832 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
CRITICAL:yum.main:
Error: rpmdb open failed

苏南大叔:centos系统,如何解决yum的database错误? - yum-error-database
centos系统,如何解决yum的database错误?(图3-2)

解决方案

另外一次碰到这个问题,苏南大叔只是重启了一下服务器,就没有这个错误提示了。奇怪吧?

修复方案,就是重建数据库,命令如下:

cd /var/lib/rpm
rm -f __db.*
rpm --rebuilddb
yum clean all 

苏南大叔:centos系统,如何解决yum的database错误? - yum-rebuild-database
centos系统,如何解决yum的database错误?(图3-3)

重建数据库之后,yum命令可以再次正常使用。

相关链接

总结

yum也会有一些意料之外的事情发生,更多yum经验内容,请点击苏南大叔的博客:

如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。