【发布时间】:2015-03-19 00:32:46
【问题描述】:
由于错误,我正在尝试从 nscd-2.12-1.132.el6.x86_64 升级到 nscd-2.12-1.149.el6.x86_64。 glibc RPM 有几个依赖项。
这里是已经安装的 glibc 包:
[tim@host]~/nscd% rpm -qa | grep glibc
glibc-common-2.12-1.132.el6.x86_64
glibc-2.12-1.132.el6.i686
glibc-2.12-1.132.el6.x86_64
glibc-utils-2.12-1.132.el6.x86_64
以下是我尝试用于升级的 RPM:
[tim@host]~/nscd% ll
total 35212
-rw-r----- 1 tim appeng 145372 Jan 16 21:04 gd-2.0.35-11.el6.x86_64.rpm
-rw-r----- 1 tim appeng 3993348 Jan 16 19:29 glibc-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r--r-- 1 tim appeng 14871492 Jan 17 01:14 glibc-common-2.12-1.149.el6_6.4.i686.rpm
-rw-r----- 1 tim appeng 14883600 Jan 16 19:31 glibc-common-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r----- 1 tim appeng 1006616 Jan 16 21:50 glibc-devel-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r----- 1 tim appeng 626024 Jan 16 21:48 glibc-headers-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r----- 1 tim appeng 170396 Jan 16 19:56 glibc-utils-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r----- 1 tim appeng 51912 Jan 16 21:13 libXpm-3.5.10-2.el6.x86_64.rpm
-rw-r----- 1 tim appeng 228352 Jan 16 19:57 nscd-2.12-1.149.el6_6.4.x86_64.rpm
这是尝试使用 rpm 进行的升级:
[tim@host]~/nscd% sudo rpm -Uvh *.rpm
[sudo] password for tim:
warning: gd-2.0.35-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
libcap.so.2 is needed by glibc-common-2.12-1.149.el6_6.4.i686
glibc-common = 2.12-1.132.el6 is needed by (installed) glibc-2.12-1.132.el6.i686
yum 可以更好地了解正在发生的事情:
[tim@host]~/nscd% sudo yum localinstall *.rpm
[sudo] password for tim:
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Local Package Process
Examining gd-2.0.35-11.el6.x86_64.rpm: gd-2.0.35-11.el6.x86_64
gd-2.0.35-11.el6.x86_64.rpm: does not update installed package.
Examining glibc-2.12-1.149.el6_6.4.x86_64.rpm: glibc-2.12-1.149.el6_6.4.x86_64
Marking glibc-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-2.12-1.132.el6.x86_64
Marking glibc-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-2.12-1.132.el6.i686
Examining glibc-common-2.12-1.149.el6_6.4.i686.rpm: glibc-common-2.12-1.149.el6_6.4.i686
Marking glibc-common-2.12-1.149.el6_6.4.i686.rpm as an update to glibc-common-2.12-1.132.el6.x86_64
Examining glibc-common-2.12-1.149.el6_6.4.x86_64.rpm: glibc-common-2.12-1.149.el6_6.4.x86_64
Marking glibc-common-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-common-2.12-1.132.el6.x86_64
Examining glibc-devel-2.12-1.149.el6_6.4.x86_64.rpm: glibc-devel-2.12-1.149.el6_6.4.x86_64
Marking glibc-devel-2.12-1.149.el6_6.4.x86_64.rpm to be installed
Examining glibc-headers-2.12-1.149.el6_6.4.x86_64.rpm: glibc-headers-2.12-1.149.el6_6.4.x86_64
Marking glibc-headers-2.12-1.149.el6_6.4.x86_64.rpm to be installed
Examining glibc-utils-2.12-1.149.el6_6.4.x86_64.rpm: glibc-utils-2.12-1.149.el6_6.4.x86_64
Marking glibc-utils-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-utils-2.12-1.132.el6.x86_64
Examining libXpm-3.5.10-2.el6.x86_64.rpm: libXpm-3.5.10-2.el6.x86_64
libXpm-3.5.10-2.el6.x86_64.rpm: does not update installed package.
Examining nscd-2.12-1.149.el6_6.4.x86_64.rpm: nscd-2.12-1.149.el6_6.4.x86_64
Marking nscd-2.12-1.149.el6_6.4.x86_64.rpm as an update to nscd-2.12-1.132.el6.x86_64
Resolving Dependencies
--> Running transaction check
---> Package glibc.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc.x86_64 0:2.12-1.149.el6_6.4 will be an update
---> Package glibc-common.x86_64 0:2.12-1.132.el6 will be updated
--> Processing Dependency: glibc-common = 2.12-1.132.el6 for package: glibc-2.12-1.132.el6.i686
---> Package glibc-common.x86_64 0:2.12-1.149.el6_6.4 will be an update
---> Package glibc-devel.x86_64 0:2.12-1.149.el6_6.4 will be installed
---> Package glibc-headers.x86_64 0:2.12-1.149.el6_6.4 will be installed
---> Package glibc-utils.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc-utils.x86_64 0:2.12-1.149.el6_6.4 will be an update
---> Package nscd.x86_64 0:2.12-1.132.el6 will be updated
---> Package nscd.x86_64 0:2.12-1.149.el6_6.4 will be an update
--> Finished Dependency Resolution
Error: Package: glibc-2.12-1.132.el6.i686 (@anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6.5)
Requires: glibc-common = 2.12-1.132.el6
Removing: glibc-common-2.12-1.132.el6.x86_64 (@anaconda-RedHatEnterpriseLinux-201311111358.x86_64/6.5)
glibc-common = 2.12-1.132.el6
Updated By: glibc-common-2.12-1.149.el6_6.4.x86_64 (/glibc-common-2.12-1.149.el6_6.4.x86_64)
glibc-common = 2.12-1.149.el6_6.4
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
所以我从中得到的是它不会升级 nscd,因为对已安装的“glibc-common = 2.12-1.132.el6”的依赖失败。有人可以解释一下为什么我会收到这条消息以及它的实际含义吗?
此外,如果有更好的方法可以在不使用 RHN 订阅或 Satellite 的情况下执行此操作(由于安全原因,此环境与 Internet 之间没有连接)。
=============================================
更新: 我采纳了 Ethan 的建议并添加了 i686 glibc 包。
更新的文件列表:
[tim@host]~/nscd% ll
total 38068
-rw-r----- 1 tim appeng 145372 Jan 16 21:04 gd-2.0.35-11.el6.x86_64.rpm
-rw-r--r-- 1 tim appeng 4553672 Jan 20 21:42 glibc-2.12-1.149.el6_6.4.i686.rpm
-rw-r----- 1 tim appeng 3993348 Jan 16 19:29 glibc-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r--r-- 1 tim appeng 14871492 Jan 17 01:14 glibc-common-2.12-1.149.el6_6.4.i686.rpm
-rw-r----- 1 tim appeng 14883600 Jan 16 19:31 glibc-common-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r----- 1 tim appeng 170396 Jan 16 19:56 glibc-utils-2.12-1.149.el6_6.4.x86_64.rpm
-rw-r----- 1 tim appeng 51912 Jan 16 21:13 libXpm-3.5.10-2.el6.x86_64.rpm
-rw-r----- 1 tim appeng 228352 Jan 16 19:57 nscd-2.12-1.149.el6_6.4.x86_64.rpm
如果我尝试使用 rpm 更新,它不起作用。我如何确定我需要下载哪个包,其中包含 libcap.so.2?
[tim@host]~/nscd% sudo rpm -Uvh *.rpm
[sudo] password for tim:
warning: gd-2.0.35-11.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
error: Failed dependencies:
libcap.so.2 is needed by glibc-common-2.12-1.149.el6_6.4.i686
奇怪的是,如果我使用 yum,它确实有效。为什么这行得通,而 rpm 却不行?
[tim@host]~/nscd% sudo yum localinstall *.rpm
Loaded plugins: product-id, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Setting up Local Package Process
Examining gd-2.0.35-11.el6.x86_64.rpm: gd-2.0.35-11.el6.x86_64
gd-2.0.35-11.el6.x86_64.rpm: does not update installed package.
Examining glibc-2.12-1.149.el6_6.4.i686.rpm: glibc-2.12-1.149.el6_6.4.i686
Marking glibc-2.12-1.149.el6_6.4.i686.rpm as an update to glibc-2.12-1.132.el6.x86_64
rhel6 | 3.9 kB 00:00
rhel6-alt | 3.9 kB 00:00
Marking glibc-2.12-1.149.el6_6.4.i686.rpm as an update to glibc-2.12-1.132.el6.i686
Examining glibc-2.12-1.149.el6_6.4.x86_64.rpm: glibc-2.12-1.149.el6_6.4.x86_64
Marking glibc-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-2.12-1.132.el6.x86_64
Marking glibc-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-2.12-1.132.el6.i686
Examining glibc-common-2.12-1.149.el6_6.4.i686.rpm: glibc-common-2.12-1.149.el6_6.4.i686
Marking glibc-common-2.12-1.149.el6_6.4.i686.rpm as an update to glibc-common-2.12-1.132.el6.x86_64
Examining glibc-common-2.12-1.149.el6_6.4.x86_64.rpm: glibc-common-2.12-1.149.el6_6.4.x86_64
Marking glibc-common-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-common-2.12-1.132.el6.x86_64
Examining glibc-utils-2.12-1.149.el6_6.4.x86_64.rpm: glibc-utils-2.12-1.149.el6_6.4.x86_64
Marking glibc-utils-2.12-1.149.el6_6.4.x86_64.rpm as an update to glibc-utils-2.12-1.132.el6.x86_64
Examining libXpm-3.5.10-2.el6.x86_64.rpm: libXpm-3.5.10-2.el6.x86_64
libXpm-3.5.10-2.el6.x86_64.rpm: does not update installed package.
Examining nscd-2.12-1.149.el6_6.4.x86_64.rpm: nscd-2.12-1.149.el6_6.4.x86_64
Marking nscd-2.12-1.149.el6_6.4.x86_64.rpm as an update to nscd-2.12-1.132.el6.x86_64
Resolving Dependencies
--> Running transaction check
---> Package glibc.i686 0:2.12-1.132.el6 will be updated
---> Package glibc.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc.i686 0:2.12-1.149.el6_6.4 will be an update
---> Package glibc.x86_64 0:2.12-1.149.el6_6.4 will be an update
---> Package glibc-common.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc-common.x86_64 0:2.12-1.149.el6_6.4 will be an update
---> Package glibc-utils.x86_64 0:2.12-1.132.el6 will be updated
---> Package glibc-utils.x86_64 0:2.12-1.149.el6_6.4 will be an update
---> Package nscd.x86_64 0:2.12-1.132.el6 will be updated
---> Package nscd.x86_64 0:2.12-1.149.el6_6.4 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
=================================================================================================================
Package Arch Version Repository Size
=================================================================================================================
Updating:
glibc i686 2.12-1.149.el6_6.4 /glibc-2.12-1.149.el6_6.4.i686 13 M
glibc x86_64 2.12-1.149.el6_6.4 /glibc-2.12-1.149.el6_6.4.x86_64 12 M
glibc-common x86_64 2.12-1.149.el6_6.4 /glibc-common-2.12-1.149.el6_6.4.x86_64 107 M
glibc-utils x86_64 2.12-1.149.el6_6.4 /glibc-utils-2.12-1.149.el6_6.4.x86_64 45 k
nscd x86_64 2.12-1.149.el6_6.4 /nscd-2.12-1.149.el6_6.4.x86_64 176 k
Transaction Summary
=================================================================================================================
Upgrade 5 Package(s)
Total size: 133 M
Is this ok [y/N]: n
Exiting on user Command
【问题讨论】:
-
你试过...用rpm文件
nscd-2.12-1.149.el6.x86_64 -
您错过了套件中的
i686glibc更新包。您正在尝试更新 multilibglibc包的一半。 -
@MiyaG 是的,nscd-2.12-1.149.el6.x86_64 包已经在我正在运行“rpm -Uvh *.rpm”命令的 nscd 目录中。
-
@EtanReisner,谢谢,我会试试的。
-
@EtanReisner 可以看看添加 i686 glibc 包的结果吗?我用结果更新了我的问题正文。