依赖地狱试图在 CentOS4 上安装 GCC

Ian*_*unn 2 centos dependencies gcc

我有一个运行 Virtuozzo VPSes 的生产 CentOS 4.4 机器,我正在尝试在其中一个中安装 GCC,以便我可以从源代码安装最新的 PHP。我从 CentOS 镜像下载了 gcc 及其依赖项,并且能够安装其中的一些,但是遇到了 glibc-common 的问题:

[root@hq gcc]# rpm -i glibc-common-2.3.4-2.43.i386.rpm
警告:glibc-common-2.3.4-2.43.i386.rpm:V3 DSA 签名:NOKEY,密钥 ID 443e1821
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/gencat 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/getconf 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/getent 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/iconv 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/lddlibc4 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/locale 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/localedef 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/rpcgen 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/bin/sprof 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/libexec/pt_chown 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/sbin/build-locale-archive 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/sbin/rpcinfo 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/sbin/zdump 与来自包 glibc-common-2.3.4-2.25 的文件冲突
        来自安装 glibc-common-2.3.4-2.43 的文件 /usr/sbin/zic 与来自包 glibc-common-2.3.4-2.25 的文件冲突

所以我尝试升级:

[root@hq gcc]# rpm -Uvg glibc-common-2.3.4-2.43.i386.rpm
警告:glibc-common-2.3.4-2.43.i386.rpm:V3 DSA 签名:NOKEY,密钥 ID 443e1821
错误:依赖项失败:
        (已安装) glibc-2.3.4-2.25.i686 需要 glibc-common = 2.3.4-2.25
        (已安装) glibc-dummy-centos-4-2.3.4-2.25.swsoft.i386 需要 glibc-common = 2.3.4-2.25

似乎存在一个依赖循环,其中 glibc-common 依赖于 glibc,但是在升级 glibc-common 之前我无法升级 glibc。我也不确定如何处理 Virtuozzo 设置的 glibc-dummy-centos 包。我已经搜索了解决方案,但没有取得任何进展。

更新

如果我尝试同时安装它们,我仍然会收到有关虚拟包的错误:

[root@hq gcc]# rpm -Uvh glibc-common-2.3.4-2.43.i386.rpm glibc-2.3.4-2.43.i386.rpm
警告:glibc-common-2.3.4-2.43.i386.rpm:V3 DSA 签名:NOKEY,密钥 ID 443e1821
错误:依赖项失败:
        (已安装) glibc-dummy-centos-4-2.3.4-2.25.swsoft.i386 需要 glibc-common = 2.3.4-2.25

但我谷歌搜索并发现从 RPM 数据库中删除 ( 1 , 2 )是安全的。这样做之后,我能够安装剩余的 RPM。

Ign*_*ams 7

安装两者。

rpm -Uvh glibc-common-2.3.4-2.43.i386.rpm glibc-...
Run Code Online (Sandbox Code Playgroud)

或者更好的是,只需使用 yum。

yum install gcc
Run Code Online (Sandbox Code Playgroud)

  • 我不会用 10 英尺长的牛刺触碰 Virtuozzo 的另一个原因。 (2认同)