前段时间,我设法删除了 /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)日志以确定当前安装的软件包。