【问题标题】:Yum Update has issues with Perl packagesYum 更新与 Perl 软件包有问题
【发布时间】:2015-02-07 02:11:52
【问题描述】:

我在 aws 上运行 RedHat Linux。当我运行 yum update 时,会出现以下问题。我该如何解决这个问题?

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

【问题讨论】:

    标签: linux centos redhat


    【解决方案1】:

    您说您正在运行 Red Hat,但您的 yum 显示您有 CentOS 存储库。请先检查一下。

    如果你安装了 yum-plugin-priorities(你可以检查一下)

    [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
    ...
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2011-03-14
        • 2021-01-24
        • 1970-01-01
        • 2016-10-22
        • 2021-05-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多