如何修复 librpm.so.3 的意外删除

如何修复 librpm.so.3 的意外删除

我在 Fedora 20 安装中处理了一系列重复项,并一次删除了 10 个。然而,我似乎已经删除了librpm.so.3,现在我在运行时收到以下消息sudo yum update

导入运行 yum 所需的 Python 模块之一时出现问题。导致此问题的错误是:

librpm.so.3:无法打开共享对象文件:没有这样的文件或目录

请安装提供此模块的软件包,或验证该模块是否安装正确。

上述模块可能与当前的Python版本不匹配,即:2.7.5(默认,2014年9月25日,13:57:38)[GCC 4.8.3 20140911(Red Hat 4.8.3-7) ]

如果您自己无法解决此问题,请访问 yum 常见问题解答: http://yum.baseurl.org/wiki/Faq

谁能告诉我如何解决这个问题,并给我步骤。我对 Fedora 的了解只是一半,但可以按照说明进行操作...如果有帮助的话,这是我的 Fedora 版本:

Linux localhost.localdomain 3.11.10-301.fc20.x86_64 #1 SMP Thu Dec 5 14:01:17 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

谢谢。

答案1

问题是您的rpm命令现在不起作用,因此即使您下载了相关包(rpm-libs),您也无法恢复当前安装上的文件。

一些选项是:

  • 您可以尝试从另一台 Fedora 20 计算机复制该文件。
  • 您可以启动安装/Live CD 或 USB 记忆棒并从那里复制文件(如果它是正确的版本)
  • 同样,使用安装/Live CD 或 USB 记忆棒(或其他基于 RPM 的系统),您可以下载正确的版本rpm-libs并提取文件(此软件包不可重新定位,因此您无法使用该--prefix选项强制rpm安装它在不同的位置)。因此,您需要rpm2cpio rpm-libs-<version etc>.rpm | cpio -idmv在一个临时目录中。然后,将相关文件复制到您的系统中。

答案2

您有系统所需的构建工具吗?如果是这样:

  1. 从以下位置下载合适的版本转速网站
  2. tar -xvjpf rpm-version.tar.bz2
  3. cd rpm-version
  4. ./configure
  5. make
  6. make install

请注意:version是您决定下载的版本号。

安装编译版本的 rpm 后,rpm -i rpm重新安装发行版的 rpm 版本,然后使用 yum。正如 gareth 所说,您已经创建了循环依赖关系,如果您还没有安装build-toolsfakeroot软件包,您甚至可以接受我的方法。

相关内容