centos Rpmdb损坏

yruzcnhs  于 2023-03-29  发布在  其他
关注(0)|答案(3)|浏览(74)

我在尝试使用yum部署包时遇到了一个错误:

2016-07-07 14:14:31,296 - ERROR - error: rpmdb: BDB0113 Thread/process     6723/140691298633536 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

我可以通过运行以下命令来修复此问题:

rm -f /var/lib/rpm/__* && rpm --rebuilddb 
sudo yum-complete-transaction --cleanup-only

但是错误又出现了,似乎是间歇性的。操作系统是CentOS Linux release 7.2.1511 (Core),它运行在Openstack kilo环境中。/var/log/yum.log没有引用错误。这可能是什么原因?

dtcbnfnu

dtcbnfnu1#

您的内存/磁盘可能出现故障:rpm中没有“db 5”(应该是“db 3”),当数据库不一致时,会调用dbenv-〉failchk DB_RUNRECOVERY。请在/var/log/messages中检查硬件问题。

ssgvzors

ssgvzors2#

我有这样一个问题.这是/是一个错误,这个链接将帮助你帮助我很多:https://bugzilla.redhat.com/show_bug.cgi?id=1270528#c3

tyu7yeag

tyu7yeag3#

当我运行sudo yum update时,我遇到了同样的问题,在我理解这是与RPM数据库相关的问题后,我做了以下操作。看起来RPM数据库使用的Berkeley DB库导致了该错误,并且无法从中恢复。

  • sudo rm -f /var/lib/rpm/__db*-从RPM数据库中删除任何可能损坏的数据库文件
  • sudo db_verify /var/lib/rpm/Packages-使用db_verify工具验证RPM数据库中剩余Packages文件的完整性
  • sudo rpm --rebuilddb-使用RPM包管理器从头开始重建RPM数据库
  • sudo yum clean all-从yum软件包管理器中删除任何缓存的软件包数据和元数据

相关问题