我正在寻求帮助来修复我的 Centos 6.4 rpm db。我的磁盘出现故障,而且我拥有的备份 rpm 也无法正常工作。
我已经在 Google 上搜索过该请求,并且想出了许多不同的解决方案,但没有一个真正适用于我的问题,因为我没有 rpm db 可以开始,并且需要从当前安装的内容开始重建。
有没有什么办法可以让我假装安装那些它告诉我缺少的软件包而实际上并没有安装它们,这样我就可以修复我的 rpm db......?
任何帮助都将不胜感激。(在此先向大家表示感谢)
答案1
听起来您想/需要在磁盘崩溃后重建 /var/lib/rpm,所以我会回答这个问题。
查找 /var/log/rpmpkgs。这是 rpmdb 中软件包的 cron 驱动列表。但是,该文件是否存在取决于您是否安装了 rpm-cron。
如果您有已安装的 pkg 列表,请下载并重新安装。
如果您没有软件包列表,并且 /var/lib/rpm/Packages 不存在,最简单的解决方法是从类似的机器上获取 /var/lib/rpm/Packages 的副本,然后将其放到位。执行“rpm --rebuilddb”以重新生成索引。最后,执行“rpm -Va”并注意输出。缺少文件表示未安装软件包,修改的文件表示您使用的是不同的版本。
您可以使用 --justdb 安装以仅注册包头。实际上,重新安装整个包(包括内容)通常与重新创建 rpmdb 一样简单。