【发布时间】:2015-07-09 16:16:07
【问题描述】:
由于 GHOST:glibc 漏洞,我需要升级 glibc 但服务器没有 yum 访问权限,因为没有为它打开防火墙。
当前 glibc: glibc-common-2.12-1.149.el6.x86_64
glibc-devel-2.12-1.149.el6.x86_64
glibc-headers-2.12-1.149.el6.x86_64
glibc-2.12-1.149.el6.x86_64
nscd-2.12-1.149.el6.x86_64
升级 glibc:
glibc-common-2.12-1.149.el6_6.7.x86_64.rpm
glibc-devel-2.12-1.149.el6_6.7.i686.rpm
glibc-headers-2.12-1.149.el6_6.7.x86_64.rpm
glibc-2.12-1.149.el6_6.7.x86_64.rpm
nscd-2.12-1.149.el6_6.7.x86_64.rpm
rpm -Uvh *rpm
但我遇到了某种依赖错误 [root]# rpm -Uvh *.rpm
警告:glibc-2.12-1.149.el6_6.7.x86_64.rpm:标头 V4 DSA/SHA1 签名,密钥 ID 192a7d7d:NOKEY
错误:依赖失败:
glibc-devel-2.12-1.149.el6_6.7.i686 需要libBrokenLocale.so.1
glibc-devel-2.12-1.149.el6_6.7.i686需要libanl.so.1
glibc-devel-2.12-1.149.el6_6.7.i686需要libcidn.so.1
glibc-devel-2.12-1.149.el6_6.7.i686 需要 libcrypt.so.1
glibc-devel-2.12-1.149.el6_6.7.i686 需要libdl.so.2
glibc-devel-2.12-1.149.el6_6.7.i686需要libm.so.6
glibc-devel-2.12-1.149.el6_6.7.i686需要libnsl.so.1
glibc-devel-2.12-1.149.el6_6.7.i686需要libnss_compat.so.2
glibc-devel-2.12-1.149.el6_6.7.i686需要libnss_dns.so.2
glibc-devel-2.12-1.149.el6_6.7.i686需要libnss_files.so.2
glibc-devel-2.12-1.149.el6_6.7.i686需要libnss_hesiod.so.2
glibc-devel-2.12-1.149.el6_6.7.i686需要libnss_nis.so.2
glibc-devel-2.12-1.149.el6_6.7.i686需要libnss_nisplus.so.2
glibc-devel-2.12-1.149.el6_6.7.i686 需要 libresolv.so.2
glibc-devel-2.12-1.149.el6_6.7.i686 需要 librt.so.1
glibc-devel-2.12-1.149.el6_6.7.i686需要libthread_db.so.1
glibc-devel-2.12-1.149.el6_6.7.i686 需要 libutil.so.1
(已安装)glibc-devel-2.12-1.149.el6.x86_64 需要 glibc = 2.12-1.149.el6
(已安装)glibc-devel-2.12-1.149.el6.x86_64 需要 glibc-headers = 2.12-1.149.el6
当我尝试 yum local 时,看起来类似的问题。
[root]# yum localinstall *.rpm
加载的插件:downloadonly、product-id、refresh-packagekit、rhnplugin、security、subscription-manager
与 RHN 通信时出错。
RHN Satellite 或 RHN Classic 支持将被禁用。
与服务器通信时出错。消息是:
需要代理身份验证
设置本地打包进程
检查 glibc-2.12-1.149.el6_6.7.x86_64.rpm:glibc-2.12-1.149.el6_6.7.x86_64
将 glibc-2.12-1.149.el6_6.7.x86_64.rpm 标记为 glibc-2.12-1.149.el6.x86_64 的更新
检查 glibc-common-2.12-1.149.el6_6.7.x86_64.rpm:glibc-common-2.12-1.149.el6_6.7.x86_64
将 glibc-common-2.12-1.149.el6_6.7.x86_64.rpm 标记为 glibc-common-2.12-1.149.el6.x86_64 的更新
检查 glibc-devel-2.12-1.149.el6_6.7.i686.rpm:glibc-devel-2.12-1.149.el6_6.7.i686
将 glibc-devel-2.12-1.149.el6_6.7.i686.rpm 标记为 glibc-devel-2.12-1.149.el6.x86_64 的更新
检查 glibc-headers-2.12-1.149.el6_6.7.x86_64.rpm:glibc-headers-2.12-1.149.el6_6.7.x86_64
将 glibc-headers-2.12-1.149.el6_6.7.x86_64.rpm 标记为 glibc-headers-2.12-1.149.el6.x86_64 的更新
检查 nscd-2.12-1.149.el6_6.7.x86_64.rpm:nscd-2.12-1.149.el6_6.7.x86_64 将 nscd-2.12-1.149.el6_6.7.x86_64.rpm 标记为 nscd-2.12-1.149.el6.x86_64 的更新
解决依赖关系
--> 运行事务检查
---> 包 glibc.x86_64 0:2.12-1.149.el6 将被更新
--> 处理依赖:glibc = 2.12-1.149.el6 用于包:glibc-devel-2.12-1.149.el6.x86_64
---> 包 glibc.x86_64 0:2.12-1.149.el6_6.7 将是一个更新
---> 包 glibc-common.x86_64 0:2.12-1.149.el6 将被更新
---> 包 glibc-common.x86_64 0:2.12-1.149.el6_6.7 将是一个更新
---> 包 glibc-headers.x86_64 0:2.12-1.149.el6 将被更新
--> 处理依赖:glibc-headers = 2.12-1.149.el6 用于包:glibc-devel-2.12-1.149.el6.x86_64
---> 包 glibc-headers.x86_64 0:2.12-1.149.el6_6.7 将是一个更新
---> 包 nscd.x86_64 0:2.12-1.149.el6 将被更新
---> 包 nscd.x86_64 0:2.12-1.149.el6_6.7 将是一个更新
--> 完成依赖解析
错误:包:glibc-devel-2.12-1.149.el6.x86_64 (@rhel-x86_64-server-6)
要求:glibc-headers = 2.12-1.149.el6
删除:glibc-headers-2.12-1.149.el6.x86_64 (@rhel-x86_64-server-6) glibc-headers = 2.12-1.149.el6
更新者:glibc-headers-2.12-1.149.el6_6.7.x86_64 (/glibc-headers-2.12-1.149.el6_6.7.x86_64)
glibc-headers = 2.12-1.149.el6_6.7
错误:包:glibc-devel-2.12-1.149.el6.x86_64 (@rhel-x86_64-server-6)
要求:glibc = 2.12-1.149.el6
删除:glibc-2.12-1.149.el6.x86_64 (@rhel-x86_64-server-6)
glibc = 2.12-1.149.el6
更新者:glibc-2.12-1.149.el6_6.7.x86_64 (/glibc-2.12-1.149.el6_6.7.x86_64)
glibc = 2.12-1.149.el6_6.7
您可以尝试使用 --skip-broken 来解决此问题
您可以尝试运行:rpm -Va --nofiles --nodigest
【问题讨论】:
-
如果跳过依赖检查,可以吗?例如rpm -Uvh --nodeps glibc-2.12-1.149.el6_6.7.x86_64.rpm