RPM数据库损坏

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

问题摆在我无法查询或使用yum升级

我做了像rpm提到的步骤–rebuild和ll,但它没有帮助

我的纯粹的好奇心知道一种方法,我们可以恢复安装的rpm的数据库

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

希望任何时候都不要这样做……我为此失去了许多天

提前感谢阅读这篇文章,并考虑解决scheme

问候

阿姆里特

你唯一的机会,如果这个系统足够重要的话,只能重新安装到db:

rpm -Uvh --justdb <package> 

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

也就是说,如果这个系统可能会宕机,我build议重新安装是最好的方法。 否则,请参阅上面的注释。

祝你好运

编辑:我读错了 – 如果你删除了整个/ var / lib / rpm目录你有点弄脏。

你说你已经做了这第一步,但为了将来的参考(和其他任何人遇到这个)

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

然后

rpmdb –rebuilddb

这不是什么大不了的事情,你的系统没有被破坏。 只要运行上面的命令,你应该恢复业务。

如果您保留了备份,那么您可能可以恢复它。 否则,你已经擦掉了RPM数据库的唯一副本。 ( rpm --rebuilddb命令会从其他目录重build该目录中的某些文件。)您的系统基本上已被清理。

我从来没有试过,但你可以尝试build立一个新的空RPM数据库(从全新安装复制?),并重新安装当前安装的所有包在当前安装的版本。 你可以看看你的rpm(或者,也许是yum,如果你正在使用它)日志来确定当前安装的软件包。