我在尝试使用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
没有引用错误。这可能是什么原因?
3条答案
按热度按时间dtcbnfnu1#
您的内存/磁盘可能出现故障:rpm中没有“db 5”(应该是“db 3”),当数据库不一致时,会调用dbenv-〉failchk DB_RUNRECOVERY。请在/var/log/messages中检查硬件问题。
ssgvzors2#
我有这样一个问题.这是/是一个错误,这个链接将帮助你帮助我很多:https://bugzilla.redhat.com/show_bug.cgi?id=1270528#c3
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软件包管理器中删除任何缓存的软件包数据和元数据