我的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_load 尝试了 db_dump :它显然有效但新生成的Packages文件有相同的错误。
但是,我看到rpm在列出软件包时遇到错误后,仍然能够继续列出后续软件包,所以理想情况下我想重建Packages文件,跳过损坏的记录。 不幸的是,我没有找到任何能够做到这一点的实用程序。
有人知道修复这个损坏的数据库的另一种方法吗?
答案 0 :(得分:0)
删除标题并重新安装。
请参阅rpm手册页,了解如何删除给定标题#(您发布的消息中的64697)。
您可能需要--nosignature --nodigest来禁用失败的检查