我在 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
您有系统所需的构建工具吗?如果是这样:
- 从以下位置下载合适的版本转速网站
tar -xvjpf rpm-version.tar.bz2
cd rpm-version
./configure
make
make install
请注意:version
是您决定下载的版本号。
安装编译版本的 rpm 后,rpm -i rpm
重新安装发行版的 rpm 版本,然后使用 yum。正如 gareth 所说,您已经创建了循环依赖关系,如果您还没有安装build-tools
和fakeroot
软件包,您甚至可以接受我的方法。