我正在尝试通过 yum 安装 libcap-devel 库,看起来我公司的 yum 存储库只有 libcap-devel-2.22-8.el7.x86_64,它需要 glibc-common-2.17-105.el7。
很遗憾,我的VM上安装的glibc-common是glibc-common-2.17-222.el7.x86_64,安装失败。
我想弄清楚如何确定libcap-devel 的哪个版本与glibc-common-2.17-222.el7.x86_64 兼容,然后要求系统管理员将此版本的libcap-devel 添加到yum repo(我无权这样做)这样我就可以成功安装它。我该怎么做?
这是yum install libcap-devel的输出
解决依赖关系
--> 运行事务检查
---> 将安装软件包 libcap-devel.x86_64 0:2.22-8.el7
--> 处理依赖:libcap = 2.22-8.el7 用于包:libcap-devel-2.22-8.el7.x86_64
--> 运行事务检查
---> 将安装包 libcap.i686 0:2.22-8.el7
--> 处理依赖:libattr.so.1 用于包:libcap-2.22-8.el7.i686
--> 处理依赖:libattr.so.1(ATTR_1.0) 用于包:libcap-2.22-8.el7.i686
--> 处理依赖:libc.so.6(GLIBC_2.8) 用于包:libcap-2.22-8.el7.i686
--> 运行事务检查
---> 将安装包 glibc.i686 0:2.17-105.el7
--> 处理依赖:glibc-common = 2.17-105.el7 用于包:glibc-2.17-105.el7.i686
--> 处理依赖:libfreebl3.so 用于包:glibc-2.17-105.el7.i686
--> 处理依赖:libfreebl3.so(NSSRAWHASH_3.12.3) 用于包:glibc-2.17-105.el7.i686
---> 将安装软件包 libattr.i686 0:2.4.46-12.el7
--> 运行事务检查
---> 将安装包 glibc.i686 0:2.17-105.el7
--> 处理依赖:glibc-common = 2.17-105.el7 用于包:glibc-2.17-105.el7.i686
---> 安装包 nss-softokn-freebl.i686 0:3.16.2.3-13.el7_1
--> 完成依赖解析
您可以尝试使用 --skip-broken 来解决问题
错误:包:glibc-2.17-105.el7.i686 (redhat_base)
要求:glibc-common = 2.17-105.el7
已安装:glibc-common-2.17-222.el7.x86_64 (@anaconda/7.5)
glibc 通用 = 2.17-222.el7
可用:glibc-common-2.17-105.el7.x86_64 (redhat_base)
glibc 通用 = 2.17-105.el7
这是yum --showduplicates list libcap-devel的输出,这表明yum repo只有一个可用的版本:
========================== N/S 匹配:libcap-devel ================ ===========
libcap-devel-2.22-8.el7.i686 : libcap 的开发文件
libcap-devel-2.22-8.el7.x86_64:libcap 的开发文件
yum --showduplicates list libcap 的输出显示:
已安装的软件包
libcap.x86_64 2.22-9.el7 @anaconda/7.5
可用套餐
libcap.i686 2.22-8.el7 redhat_base
libcap.x86_64 2.22-8.el7 redhat_base
yum install -y libcap-2.22-8.el7.x86_64 的输出显示:
已经安装了与 libcap-2.22-8.el7.x86_64 匹配的软件包。检查更新。
无事可做
在此之后,运行yum install -y libcap-devel-2.22-8.el7.x86_64 仍会尝试下载 32 位版本:
...
--> 处理依赖:libcap = 2.22-8.el7 用于包:libcap-devel-2.22-8.el7.x86_64
--> 运行事务检查
---> 将安装包 libcap.i686 0:2.22-8.el7
...
yum --showduplicates list glibc 的输出显示 glibc.i686 0:2.17-222.el7 不可用,只有 2.17-105.e17 可用。
已安装的软件包
glibc.x86_64 2.17-222.el7 @anaconda/7.5
可用套餐
glibc.i686 2.17-105.el7 redhat_base
glibc.x86_64 2.17-105.el7 redhat_base
任何变体都会失败:
yum downgrade -y glibc-2.17-105.el7
yum downgrade -y glibc-2.17-105.el7 glibc-common-2.17-105.el7
yum downgrade -y glibc-2.17-105.el7 glibc-common-2.17-105.el7 glibc-devel-2.17-105.el7
yum downgrade -y glibc-headers-2.17-105.el7 glibc-2.17-105.el7 glibc-common-2.17-105.el7 glibc-devel-2.17-105.el7
例如,第一个命令抱怨 glibc-common 和 glibc-devel,添加这些会导致抱怨 glibc-headers,而第四行实际上是段错误。