Yum Update 在 Perl 软件包方面存在问题



我在 aws 上运行 RedHat Linux。当我运行 yum 更新时,它以以下问题结束。我该如何解决此问题?

--> Finished Dependency Resolution
Error: Package: 4:perl-libs-5.10.1-127.el6.x86_64 (@CentOS/6.3)
           Requires: perl = 4:5.10.1-127.el6
           Removing: 4:perl-5.10.1-127.el6.x86_64 (@CentOS/6.3)
               perl = 4:5.10.1-127.el6
           Updated By: 4:perl-5.10.1-136.el6_6.1.x86_64 (updates)
               perl = 4:5.10.1-136.el6_6.1
           Available: 4:perl-5.10.1-136.el6.x86_64 (base)
               perl = 4:5.10.1-136.el6
 You could try using --skip-broken to work around the problem
** Found 6 pre-existing rpmdb problem(s), 'yum check' output follows:
db4-4.7.25-18.el6_4.x86_64 is a duplicate with db4-4.7.25-17.el6.x86_64
1:perl-Module-Pluggable-3.90-136.el6_6.1.x86_64 has missing requires of perl = ('4', '5.10.1', '136.el6_6.1')
1:perl-Pod-Escapes-1.04-136.el6_6.1.x86_64 has missing requires of perl = ('4', '5.10.1', '136.el6_6.1')
4:perl-libs-5.10.1-136.el6_6.1.x86_64 is a duplicate with 4:perl-libs-5.10.1-127.el6.x86_64
4:perl-libs-5.10.1-136.el6_6.1.x86_64 has missing requires of perl = ('4', '5.10.1', '136.el6_6.1')
3:perl-version-0.77-136.el6_6.1.x86_64 has missing requires of perl = ('4', '5.10.1', '136.el6_6.1')

你说你正在运行红帽,但你的 yum 显示你有 CentOS 存储库。请先检查一下。

如果您安装了 yum 插件优先级(您可以检查这一点)

[root ~]# yum repolist
Loaded plugins: downloadonly, fastestmirror, keys, list-data, priorities, replace, versionlock
...

您需要添加

priority=1

到/etc/yum.repos.d/Centos-Base 中的 [base] 和 [updates],所以它看起来像:

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1
#released updates 
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

然后运行(缓存清理可能不是必需的,但为了很好的措施:

yum clean all
yum update

我有一段时间了这个问题,这就是解决方案:

--> Finished Dependency Resolution
Error: Package: 4:perl-libs-5.10.1-136.el6_6.1.x86_64 (updates)
           Requires: perl = 4:5.10.1-136.el6_6.1
           Installed: 4:perl-5.10.1-136.el6.x86_64 (@CentOS-6 - Base/6.6)
               perl = 4:5.10.1-136.el6
Error: Package: 4:perl-Time-HiRes-1.9721-136.el6_6.1.x86_64 (updates)
           Requires: perl = 4:5.10.1-136.el6_6.1
           Installed: 4:perl-5.10.1-136.el6.x86_64 (@CentOS-6 - Base/6.6)
               perl = 4:5.10.1-136.el6
Error: Package: 1:perl-Digest-SHA-5.47-136.el6_6.1.x86_64 (updates)
           Requires: perl = 4:5.10.1-136.el6_6.1
           Installed: 4:perl-5.10.1-136.el6.x86_64 (@CentOS-6 - Base/6.6)
               perl = 4:5.10.1-136.el6
Error: Package: 1:perl-ExtUtils-ParseXS-2.2003.0-136.el6_6.1.x86_64 (updates)
           Requires: perl = 4:5.10.1-136.el6_6.1
           Installed: 4:perl-5.10.1-136.el6.x86_64 (@CentOS-6 - Base/6.6)
               perl = 4:5.10.1-136.el6
Error: Package: 1:perl-Compress-Raw-Zlib-2.021-136.el6_6.1.x86_64 (updates)
           Requires: perl = 4:5.10.1-136.el6_6.1
           Installed: 4:perl-5.10.1-136.el6.x86_64 (@CentOS-6 - Base/6.6)
               perl = 4:5.10.1-136.el6
Error: Package: 4:perl-devel-5.10.1-136.el6_6.1.x86_64 (updates)
           Requires: perl = 4:5.10.1-136.el6_6.1
           Installed: 4:perl-5.10.1-136.el6.x86_64 (@CentOS-6 - Base/6.6)
               perl = 4:5.10.1-136.el6
Error: Package: 1:perl-Package-Constants-0.02-136.el6_6.1.x86_64 (updates)
           Requires: perl = 4:5.10.1-136.el6_6.1
           Installed: 4:perl-5.10.1-136.el6.x86_64 (@CentOS-6 - Base/6.6)
               perl = 4:5.10.1-136.el6
...

ChrisN 的回答帮助我解决了类似的问题。我没有安装优先级插件,但我缺少"更新"部分。我已经禁用了默认的 CentOS-Base 存储库并安装了自定义存储库。那个缺少[更新]部分。所以我加了一个。之后, yum update解决了这个问题,并且在安装依赖于该版本的perl的后续软件包时,我没有遇到任何问题。

最新更新