有 /bin/bash 而不是 /usr/bin/bash,但由于依赖失败而无法安装 RPM 更新

有 /bin/bash 而不是 /usr/bin/bash,但由于依赖失败而无法安装 RPM 更新

bash 位于/bin而不是/usr/bin.

glibc-common-2.17-222.el7.x86_64尝试使用以下任一命令进行安装(以 root 身份) :

rpm -ivh glibc-2.17-222.el7.x86_64.rpm glibc-common-2.17-222.el7.x86_64.rpm

或者

yum localinstall glibc-common-2.17-222.el7.x86_64.rpm glibc-2.17-222.el7.x86_64.rpm

获取依赖错误: /usr/bin/bash is needed by glibc-common-2.17-222.el7.x86_64

[root@ruapp117 dep]# ls -ld /bin
dr-xr-xr-x. 2 root root 4096 Mar  5  2018 /bin

[root@ruapp117 dep]# rpm -q --whatprovides /bin/bash /usr/bin/bash
bash-4.1.2-48.el6.x86_64
error: file /usr/bin/bash: No such file or directory

[root@smbruapp117 dep]# rpm -qa | grep bash
bash-4.1.2-48.el6.x86_64

无法连接到互联网;我必须手动下载并安装。

答案1

由于这是阻止安装的唯一问题,并且您确定已安装 bash,因此请告诉 RPM 跳过依赖项检查:

rpm -ivh --nodeps glibc-2.17-222.el7.x86_64.rpm glibc-common-2.17-222.el7.x86_64.rpm

答案2

您是否尝试在另一个操作系统上安装 centos 软件包?

您尝试安装的软件包取决于/bin/bash。问题是为什么,和/或为什么 /bin/bash 不在你的机器上。

因此,也许打包程序硬编码了对 /bin/bash 的依赖关系,那么除了重建 src.rpm 并更改规范文件,或者强制安装(rpm --nodeps)并创建符号链接以便一切正常之外,您无能为力。

当 rpm 构建一个包时,它会自动搜索其依赖项,所以可能是 rpmbuild 添加了依赖项,可能是因为构建 rpm 的机器有 /bin/bash 而不是 /usr/bin/bash。在这种情况下,您可以尝试搜索不是在 centos 上构建的该软件包的另一个版本(没有“el7”部分)并尝试安装它。

这些想法应该会对你有很大帮助。

相关内容