CentOS的依赖挑战

鉴于以下输出,build议先尝试什么? 这是一个CentOS 5.3盒子(通过yum升级到5.2)作为一个小型的开发服务器运行。 我一般对* nix感到满意,但依赖性追逐让我有时感到困惑。 所以这次我在追求帮助之前,

从今天的“yum更新”输出:

Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package perl-Net-SSLeay.i386 0:1.35-1.el5.rf set to be updated ---> Package perl-IO-Socket-SSL.noarch 0:1.26-1.el5.rf set to be updated ---> Package perl-Net-DNS.i386 0:0.65-1.el5.rf set to be updated ---> Package perl-Package-Constants.noarch 0:0.02-1.el5.rf set to be updated ---> Package perl-IO-Compress.noarch 0:2.020-1.el5.rf set to be updated --> Processing Dependency: perl(Compress::Raw::Bzip2) >= 2.020 for package: perl-IO-Compress --> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.020 for package: perl-IO-Compress --> Running transaction check ---> Package perl-Compress-Raw-Bzip2.i386 0:2.015-1.el5.rf set to be updated ---> Package perl-IO-Compress.noarch 0:2.020-1.el5.rf set to be updated --> Processing Dependency: perl(Compress::Raw::Zlib) >= 2.020 for package: perl-IO-Compress --> Finished Dependency Resolution perl-IO-Compress-2.020-1.el5.rf.noarch from rpmforge has depsolving problems --> Missing Dependency: perl(Compress::Raw::Zlib) >= 2.020 is needed by package perl-IO-Compress-2.020-1.el5.rf.noarch (rpmforge) Error: Missing Dependency: perl(Compress::Raw::Zlib) >= 2.020 is needed by package perl-IO-Compress-2.020-1.el5.rf.noarch (rpmforge) 

perl(Compress :: Raw :: Zlib)是一个包名称?!? 如果是这样,我得到这个更新尝试:

 Package perl-Compress-Raw-Zlib-2.015-1.el5.rf.i386 already installed and latest version 

错误的版本,但说这是最新的…

以防万一这有帮助:

 $ uname -a Linux EFhermesDev 2.6.18-128.1.16.el5.centos.plus #1 SMP Wed Jul 1 13:06:47 EDT 2009 i686 i686 i386 GNU/Linux 

你正在看到一个rpmforge依赖问题, 而不是 CentOS依赖问题。

rpmforge perl模块目前正在大量重build。 见http://lists.rpmforge.net/pipermail/users/2009-July/002508.html ff。

请注意,从CentOS-5.3开始,你可以尝试:

   百胜更新 - 跳过

5.4这可能会更好。

你可以在这里获得版本2.020( 自述文件 )。 它于2009年6月3日发布。

背景:

依赖关系正在调用一个比版本库认为是最新版本更新的版本:

 Error: Missing Dependency: perl(Compress::Raw::Zlib) >= 2.020 is needed by package perl-IO-Compress-2.020-1.el5.rf.noarch (rpmforge) 

您安装的版本比依赖项调用的版本旧:

 Package perl-Compress-Raw-Zlib-2.015-1.el5.rf.i386 already installed and latest version 

正如它所说,你需要安装:

 perl(Compress::Raw::Zlib) >= 2.020 

为了解决这个依赖。

这是因为您正在使用的存储库与自身不同步。

浏览这个网站。

在这篇文章中,perl-IO-Compress.noarch软件包已经更新到2.020,并且取决于perl-Compress-Raw-Zlib的2.020版本。

但是,perl-Compress-Raw-Zlib仍然在2.015。 你可以等到它们赶上,或者你可以忽略yum中的perl-IO-Compress.noarch。

尝试添加:

 exclude=perl-IO-Compress* 

到/etc/yum.conf。 (未经testing,您可能需要添加其他排除项,请尝试从命令行中查看添加到yum.conf之前会发生什么情况)

你应该尽可能使用EPEL回购这样的东西。 EPEL是一个Fedora子项目,具有更高的标准。

尝试删除任何rpmforge软件包(和yum存储库),并只使用EPEL。

“exclude = perl-IO-Compress *”语句不起作用。 yum升级可以解决这个问题,但稍后会遇到这个问题。

– >完成的依赖性解决scheme错误:缺less相关性:perl(IO :: Compress :: Base :: Common)> = 2.015需要包perl-Compress-Zlib错误:缺less依赖:perl(IO :: Uncompress :: Gunzip )> = 2.015是需要的包perl-Compress-Zlib错误:缺less依赖:perl(IO :: Compress :: Gzip)> = 2.015需要包perl-Compress-Zlib错误:缺less依赖:perl(IO :: Compress :: Gzip :: Constants)> = 2.015需要包perl-Compress-Zlib

Eek,不要只是基于这个依赖性错误来改变你的回购,他们会修复它。 只是有点耐心。 更改为EPEL回购可能会导致其他问题,可能需要一路修复,因为它们具有不同的软件包/构build/依赖关系,并且如果您正在为RPMForgedevise,那么您可能需要更改某些软件包以适应EPEL。 所以你只是把一个问题换成另一个问题。

[解决]我试图(我是一个傻瓜,就在昨天;-))

rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-3.noarch.rpm

百胜更新

因为他们有perl的版本2.020(Compress :: Raw :: Zlib)

阿里克斯

ps Zaph是对的 – 这是错误的路要走,(但我最终得到了零电子邮件丢失和零停机为我的networking服务器。)

我是如何运作的 我个人yum安装所有的包,一次一个。 唯一没有去的是perl-IO-Compress。 我从上面的链接去http://packages.sw.be ,并下载了perl-IO-Compress-2.020-2 / el5.rf.noarch.rpm(我正在运行RHEL 5.3)到一个单独的目录。 然后我从该目录运行yum install * .rpm。 它安装没有问题! 另外,我的应用程序仍然有效。

我正在使用Centos 5.5。 perl-IO-Compress现在在rpmforge-extras中。 首先升级软件包rpmforge-release:

yum更新rpmforge-release

将/etc/yum.repos.d/rpmforge.repo.rpmnew中的新信息合并到/etc/yum.repos.d/rpmforge.repo中。 现在更新使用:

yum –enablerepo = rpmforge-extras升级