RPM 数据库损坏

RPM 数据库损坏

前段时间,我设法删除了 /var/lib/rpm 文件夹,该文件夹基本上包含系统中所有 rpm 的信息

问题是我无法使用 yum 进行查询或升级

我执行了上述步骤,例如 rpm --rebuild 和 ll 但没有帮助

我纯粹是出于好奇想知道如何恢复已安装的 rpm 数据库

我说好奇,因为没有它服务器也能运行良好!

希望没有人会这样做...我为此失眠了很多天。

提前感谢您阅读这篇文章并思考解决方案

问候

安瑞特

答案1

如果这个系统足够重要,你唯一的机会就是重新安装数据库:

rpm -Uvh --justdb <package>

您可以使用 /root/install.log 和 /var/log/yum.log 来获取已安装的 RPM 列表,或者,如果您有类似的系统,您可以从那里获取 RPM 列表。

话虽如此,如果这个系统可能会停机,我建议重新安装是最好的方法。否则,请参阅上面的评论。

祝你好运

答案2

编辑:我读错了——如果你删除了整个 /var/lib/rpm 目录,你就有点受不了了。

你说你已经完成了第一步,但是为了将来参考(以及为遇到这种情况的任何其他人)

删除/var/lib/rpm/__db.*

然后

rpmdb –rebuilddb

这其实没什么大不了的,你的系统并没有受到损坏。只要运行上述命令,你就可以恢复正常了。

答案3

如果您保留了备份,那么您可能能够恢复它。否则,您就抹去了 RPM 数据库的唯一副本。(该rpm --rebuilddb命令会从其他目录中重建某些文件。)您的系统基本上被搞坏了。

答案4

我从未尝试过,但您可以尝试设置一个新的空 RPM 数据库(从全新安装中复制?)并重新安装当前安装版本中的所有当前安装的软件包。您可以查看 rpm(或者如果您正在使用 yum)日志以确定当前安装的软件包。

相关内容