如何在CentOS 5上升级到Subversion 1.5?

时间:2008-09-18 20:32:38

标签: linux svn version-control centos centos5

我的开发服务器(CentOS 5)正在运行Subversion 1.4.2,我希望将其升级到1.5。我已经阅读了分散在网络上的各种博客和文档,这可以通过使用RPMForge来完成。我已按照CentOS Wiki上的说明进行操作,包括安装yum-priority并设置我指定的优先级(核心回购源为1和2,RPMForge为20)。

但是,当我尝试运行时:

$ yum info subversion

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

有什么想法吗?

9 个答案:

答案 0 :(得分:45)

你要做的是更换一个“核心”包(一个是核心包) 包含在CentOS存储库中的新版软件包来自“3rd” 派对“存储库(RPMForge),这是优先插件 旨在防止。

RPMForge存储库包含未找到的其他软件包 CentOS,以及更新版本的核心软件包。不幸的是,yum 是非常愚蠢的,将始终将包更新到最新版本 它可以在任何存储库中找到。所以用RPMforge运行“yum update” 启用将使用最新版本更新系统的一半(前沿, 来自RPMForge的可能不稳定且支持不太好的软件包。

因此,推荐使用像RPMForge这样的repos的方法就是使用它们 只有像“优先”这样的yum插件才能防止 来自“高”优先级回购的包裹覆盖来自“低”的那些 优先级回购(“优先级”参数的名称非常 误导)。通过这种方式,您可以节省安装其他包(即 来自RPMForge的核心),这是大多数人想要的。

现在问你原来的问题......

如果您想要来替换核心软件包,事情会变得有点棘手。 基本上,您有两种选择:

  1. 卸载优先插件,然后禁用 RPMForge存储库 默认(在enabled = 0中设置/etc/yum.repos.d/rpmforge.repo)。您可以 然后在命令行上选择性地启用它:

    yum --enablerepo=rpmforge install subversion
    

    将从RPMForge安装最新的subversion和依赖项。

    这种方法的问题在于,如果有更新 在RPMForge中的subversion包,当repo是你时,你不会看到它 禁用。要使subversion保持最新,您必须记住运行

    yum --enablerepo=rpmforge update subversion
    

  2. 第二种可能性是使用优先插件,但需要手动操作 “掩盖”核心的subversion包(添加exclude=subversion[base]中的[update]/etc/yum.repos.d/CentOS-Base.repo部分。

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

答案 1 :(得分:3)

1.-如果您使用yum-priorities,请在文件/etc/yum/pluginconf.d/priorities.conf

中禁用此功能

2.-检查subversion的版本

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

3.-从rpmforge存储库

搜索最新版本的subversion
$ yum --enablerepo=rpmforge check-update subversion
subversion.x86_64      1.6.6-0.1.el5.rf         rpmforge

4.-现在使用rpmforge存储库升级subversion的程序

$ 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

答案 2 :(得分:2)

谢谢Matt - 我们还在SVN上发布了SVN 1.7的唯一发行版。

您可能还想尝试uberSVN

答案 3 :(得分: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

请检查您的来源列表并再次运行check-update。

编辑:哎呀,丢失了部分答案。在上面添加了它。

答案 4 :(得分:1)

  

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

来自rpmforge的任何套餐。这是您的优先设置。尝试禁用yum-priority(在enabled=1中将enabled=0更改为/etc/yum/pluginconf.d/priorities.conf) - 然后它应该可以正常工作。

所以我猜下一个问题是为什么优先考虑搞砸了....虽然我不确定。

编辑:有关优先级的详情,请参阅8jean's answer

答案 5 :(得分:0)

在Dag的存储库中达到v 1.4.6。

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

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

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

答案 6 :(得分: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

答案 7 :(得分:0)

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

当我运行check-update时,我得到:

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  

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

答案 8 :(得分:0)

您需要做的就是获取此脚本。在CentOS 5.3上完美地为我工作

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

不,我不在那里工作,也没有任何联系......只是找到它并想​​通知我会让你们知道。

祝你好运。