2008-09-18 66 views
22

我的开发服务器(CentOS 5)运行Subversion 1.4.2,我希望升级到1.5。我已阅读遍布在网络上的各种博客和文档,可以使用RPMForge完成此操作。我遵循CentOS Wiki上的说明,包括安装yum -priority并按照指示设置我的优先级(核心repo源为1和2,RPMForge为20)。如何升级到Subversion 1.5在CentOS 5上?

然而,当我尝试运行:

$ yum info subversion 

给我的版本号是1.4.2仍与安装状态。我现在的其他选择是从源代码编译,但我想找到一个软件包管理的解决方案,以便于将来的升级。

有什么想法?

+0

您可能切换到Ubuntu并解决更多问题;) – sorin 2011-11-10 17:48:48

回答

45

你所要做的就是更换一个“核心”套餐(这是在CentOS的仓库中包含 )与来自“第三 党”库(RPMForge软件),一个新的包是什么优先插件是 旨在防止。

RPMForge存储库包含在 CentOS中找不到的其他软件包以及较新版本的核心软件包。不幸的是,yum 是非常愚蠢的,并将始终将包更新到最新版本 ,它可以在任何存储库中找到。因此,启用RPMforge 后运行“yum update”将使用RPMForge的最新版本(出血性边缘, 可能不稳定且支持不好的软件包)更新系统的一半。

因此,要使用回购像RPMForge的推荐的方法是用一个荫插件像“priorites”,这防止“高”的优先级回购 包覆盖那些从“低” 优先回购仅一起使用它们 (“优先级”参数的名称非常容易引起误导)。通过这种方式,您可以从RPMForge保存安装附加的程序包(即 不在核心中),这是大多数人想要的。

我们你原来的问题...

如果你想更换一个核心包,事情变得有点棘手。 基本上,你有两个选择:

  1. 卸载插件的优先级,并禁用 RPMForge软件库由 默认设置(设置/etc/yum.repos.d/rpmforge.repoenabled = 0)。您可以 然后有选择地在命令行上启用它:

    yum --enablerepo=rpmforge install subversion 
    

    将安装来自RPMForge的最新的颠覆和依赖性。

    这种方法的问题是,如果RPMForge中的 颠覆软件包有更新,那么当回购是 禁用时,您将看不到它。要保持颠覆最新,你必须记得运行

    yum --enablerepo=rpmforge update subversion 
    

    时不时。

  2. 第二种可能性是使用priorites插件,但手动 “掩模”的核心颠覆包(添加exclude=subversion[base][update]切片在/etc/yum.repos.d/CentOS-Base.repo)。

    现在,yum的行为就好像 核心存储库中没有名为“subversion”的软件包,并且从 RPMForge快乐地安装最新版本。另外,运行yum update时,您将始终获得最新的颠覆更新 。

+1

谢谢8jean,您的解决方案效果很好。它没有按照我预期的方式运行的原因是由于我对优先级插件的错误解释;我认为通过使用--enablerepo回购将绕过优先检查。似乎我错了。 再次感谢! – jperras 2008-09-19 10:27:18

+3

这是我第一次搜索一些东西,并得到了一个Stackoverflow答案作为第一个搜索结果!它非常完美。 – 2008-10-02 00:58:30

1

如果您安装RPMForge的回购,那么您应该能够获得一个新的包装 - 这不适合你?

您应该看到/etc/apt/sources.list.d rpmforge.list有这样一行:

repomd http://apt.sw.be redhat/el$(VERSION)/en/$(ARCH)/dag 

我只是在一个干净的CentOS 5安装测试,yum check-update显示

subversion.i386       1.5.2-0.1.el5.rf  rpmforge 
subversion-perl.i386      1.5.2-0.1.el5.rf  rpmforge 

因此请检查您的来源清单并再次运行检查更新。

编辑:哎呀,失去了我的答案的一部分。在上面添加它。

0

它达到Dag的仓库中的1.4.6版本。

您可以尝试使用Fedora's repo中的一个,或者对主要存储库有一定耐心来升级它。

从源代码制作它很容易,请在下载源代码包时阅读INSTALL文件,请记住CentOS可能已经移动到安装文件的位置。 (使用“rpm -ql subversion”来查看旧文件的安装位置)。

当v1.5.0发布到版本库时,您可以像以前一样删除您的内置版本并使用yum进行安装。

0

RPMForge软件已经在/etc/yum.repos.d/为rpmforge.repo,并且其内容是:

 
# Name: RPMforge RPM Repository for Red Hat Enterprise 5 - dag 
# URL: http://rpmforge.net/ 
[rpmforge] 
name = Red Hat Enterprise $releasever - RPMforge.net - dag 
#baseurl = http://apt.sw.be/redhat/el5/en/$basearch/dag 
mirrorlist = http://apt.sw.be/redhat/el5/en/mirrors-rpmforge 
#mirrorlist = file:///etc/yum.repos.d/mirrors-rpmforge 
enabled = 1 
protect = 0 
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag 
gpgcheck = 1 
priority=20 
0

我有一个确切的行/etc/apt/sources.list中。 d/rpmforge.list。

当我运行检查更新,我得到:

 
Loading "priorities" plugin 
Loading "fastestmirror" plugin 
Loading mirror speeds from cached hostfile 
* epel: mirror.unl.edu 
* rpmforge: fr2.rpmfind.net 
* base: mirrors.portafixe.com 
* updates: mirrors.portafixe.com 
* addons: mirrors.portafixe.com 
* extras: mirrors.portafixe.com 
2202 packages excluded due to repository priority protections 

bzip2.i386        1.0.3-4.el5_2   updates   
bzip2-devel.i386       1.0.3-4.el5_2   updates   
bzip2-libs.i386       1.0.3-4.el5_2   updates   
libxml2.i386        2.6.26-2.1.2.6   updates   
libxml2-devel.i386      2.6.26-2.1.2.6   updates   
libxml2-python.i386      2.6.26-2.1.2.6   updates   
perl.i386        4:5.8.8-15.el5_2.1  updates   
sos.noarch        1.7-9.2.el5_2.2  updates   
tzdata.noarch       2008e-1.el5   updates 

我并不过分担心此刻的其他过时的包,但你可以看到没有可用的颠覆更新。

1

我现在不过分担心其他过时的软件包,但正如您所看到的,没有可用的Subversion更新。

也不是从rpmforge的任何包。这是您的优先级设置。尝试禁用yum优先权(更改enabled=1enabled=0/etc/yum/pluginconf.d/priorities.conf) - 然后它应该工作。

所以我想接下来的问题是为什么优先级将它搞砸了......虽然我不确定。

编辑:请参阅8jean's answer了解更多关于优先级的信息。

3

1 .-如果你正在使用百胜优先文件/etc/yum/pluginconf.d/priorities.conf

2:检查颠覆

$ rpm -qa|grep subversion 
    subversion-1.4.2-4.el5_3.1 
    subversion-1.4.2-4.el5_3.1 

3.-的版本中禁用此搜索的最后一个版本从rpmforge版本库颠覆

$ yum --enablerepo=rpmforge check-update subversion 
subversion.x86_64  1.6.6-0.1.el5.rf   rpmforge 

4.-现在程序升级颠覆与rpmforge代表ository

$ yum shell 
>erase mod_dav_svn-1.4.2-4.el5_3.1 
>erase subversion-1.4.2-4.el5_3.1 
>install mod_dav_svn-1.6.6-0.1.el5.rf 
>install subversion-1.6.6-0.1.el5.rf.x86_64 
>run 

这一切都为我工作进出口运行的CentOS 5.4

0

所有你需要做的就是这个脚本。完美的工作对我来说在CentOS 5.3

http://wandisco.com/subversion/os/downloads

不,我不工作,有或有任何隶属关系是什么,所以有史以来...只是发现它,想我会让你们知道。

祝你好运。

2

感谢马特 - 我们也有SVN上唯一的SVN 1.7发行版。您可能还想尝试uberSVN