Yum Update存在Perl包的问题

时间:2015-01-19 07:08:30

标签: linux centos redhat

我在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')

2 个答案:

答案 0 :(得分:1)

你说你正在运行Red Hat,但你的yum表明你有CentOS存储库。请先检查一下。

如果你安装了yum-plugin-priorities(你可以查看)

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

您需要添加

priority=1

到[base]和/etc/yum.repos.d/Centos-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
...

答案 1 :(得分:0)

ChrisN的回答帮助我修复了类似的问题。我没有安装优先插件,但我错过了“更新”的部分。我已禁用默认的 CentOS-Base repo 并安装了自定义的。那个人缺少[更新]部分。所以我添加了one。在此之后, yum update 解决了这个问题,我在安装依赖于该版本perl的后续软件包时没有遇到任何问题。