【发布时间】:2018-10-14 03:40:25
【问题描述】:
我的 rpmdb 已损坏,修复它的常规程序似乎不起作用。
这是错误:
cris@PolariSuse [~]$ rpm -qa > /dev/null
error: rpmdbNextIterator: skipping h# 64697
Header V3 RSA/SHA256 Signature, key ID 3dbdc284: BAD
Header SHA1 digest: BAD (Expected bf167126ecaa67d16fee74af17096529278aad8d != cd4a91ad1f0d65d360cce5dacffea553e358b550)
如果我尝试修复它,我会得到:
cris@PolariSuse [~]$ sudo rpmdb --rebuilddb
[sudo] password for root:
error: cannot add record originally at 64697
warning: failed to rebuild database: original database remains in place
我什至针对 Packages 文件尝试了 db_dump 和随后的 db_load:它显然有效,但新生成的 Packages 文件有相同的错误。
但是,我看到 rpm 在列出软件包时遇到错误后,它仍然能够继续列出后续软件包,所以理想情况下我想重建 Packages 文件以跳过损坏的记录。 不幸的是,我还没有找到任何能够做到这一点的实用程序。
有人知道修复这个损坏的数据库的另一种方法吗?
【问题讨论】:
标签: linux rpm corruption berkeley-db corrupt-data