如何解决 RHEL 6.6 上 bash 和 cpio 未满足的依赖关系问题?

如何解决 RHEL 6.6 上 bash 和 cpio 未满足的依赖关系问题?

我在 RHEL 6.6 服务器上安装了许多软件包。我正在尝试安装 createrepo 和 createrepo 本身的依赖项。我想要一个 yum 存储库。当我rpm -ivh *.rpm在超过 50 个 .rpm 的目录中使用时,我收到以下失败消息:

/usr/bin/bash is needed by glibc-common-2.17-157.el7_3.1x86_64
/usr/bin/cpio is needed by kmod-20-9.el7.x86_64

我安装了 bash 和 cpio 软件包来尝试解决这个问题。对于这些错误我该怎么办?我以为我拥有所有的依赖关系。

使用 yum localinstall 命令也失败。我尝试创建 cpio 和 bash 文件到错误消息中引用的位置的链接(使用 ln -s)。我也尝试将 cpio 和 bash 文件复制到这些位置。但这也不起作用。错误不断发生。

答案1

您问题的答案是您应该安装提供这些功能的软件包,这些软件包应该与您当前的版本兼容。目前您还没有安装提供和的软件包(或者您通过 启动的事务中的软件包rpm -ivh *.rpm)。如果您安装了合适的软件包,那么 rpm 将不会显示这些依赖性错误。您可以通过以下方式查询哪个已安装的软件包提供了这些功能/usr/bin/bash/usr/bin/cpiorpm -q --whatprovides /usr/bin/cpio /usr/bin/bash

与此相关的是,如果您在该位置创建符号链接,它不会影响 rpm 依赖项,因为 rpm 仅通过Provides已安装软件包的标签进行评估。

在我看来,您的问题来自于您尝试在 el6 服务器上安装 el7 软件包这一事实。

相关内容