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

Linux 如何在CentOS 5上升级到Subversion 1.5?,linux,svn,version-control,centos,centos5,Linux,Svn,Version Control,Centos,Centos5,我的开发服务器(CentOS 5)正在运行Subversion 1.4.2,我希望将其升级到1.5。我在网上的各种博客和文档中读到,这可以通过使用RPMForge来实现。我已经按照上的说明进行了操作,包括安装yum priorities并按照指示设置优先级(1和2用于核心repo源,20用于RPMForge) 但是,当我尝试运行时: $ yum info subversion 给我的版本号仍然是1.4.2,状态为Installed。此时,我的另一个选择是从源代码处编译,但我希望找到一个包管理的

我的开发服务器(CentOS 5)正在运行Subversion 1.4.2,我希望将其升级到1.5。我在网上的各种博客和文档中读到,这可以通过使用RPMForge来实现。我已经按照上的说明进行了操作,包括安装yum priorities并按照指示设置优先级(1和2用于核心repo源,20用于RPMForge)

但是,当我尝试运行时:

$ yum info subversion
给我的版本号仍然是1.4.2,状态为Installed。此时,我的另一个选择是从源代码处编译,但我希望找到一个包管理的解决方案,以便于将来升级

有什么想法吗?

如果您安装了的repos,那么您应该能够获得一个更新的软件包-这对您不起作用

您应该在/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
因此,请检查您的源列表并再次运行检查更新


编辑:哎呀,我的答案丢了一部分。将其添加回上面。

它在Dag的存储库中的版本为1.4.6

您可以尝试从主存储库升级它,也可以耐心等待主存储库升级它

从源代码开始很容易,下载源代码包时请阅读安装文件,请记住CentOS可能已将文件安装到了安装位置。(使用“rpm-ql subversion”查看旧文件的安装位置)


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

RPMForge已在/etc/yum.repos.d/as 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 #名称:Red Hat Enterprise 5的RPMforge RPM存储库-dag #网址:http://rpmforge.net/ [rpmforge] name=红帽企业版$releasever-RPMforge.net-dag #baseurl=http://apt.sw.be/redhat/el5/en/$basearch/dag 镜像列表=http://apt.sw.be/redhat/el5/en/mirrors-rpmforge #镜像列表=file:///etc/yum.repos.d/mirrors-rpmforge 已启用=1 保护=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpgcheck=1 优先级=20
我在/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 加载“优先级”插件 加载“FastTestMirror”插件 从缓存的主机文件加载镜像速度 *epel:mirror.unl.edu *rpmforge:fr2.rpmfind.net *基本地址:mirrors.portafix.com *更新:mirrors.portafix.com *插件:mirrors.portafix.com *附加:mirrors.portafix.com 2202个包因存储库优先级保护而被排除 bzip2.i386 1.0.3-4.el5_2更新 bzip2-devel.i386 1.0.3-4.el5_2更新 bzip2-libs.i386 1.0.3-4.el5_2更新 libxml2.i386 2.6.26-2.1.2.6更新 libxml2-devel.i386 2.6.26-2.1.2.6更新 libxml2-python.i386 2.6.26-2.1.2.6更新 perl.i386 4:5.8.8-15.el5_2.1更新 sos.noarch 1.7-9.2.el5_2.2更新 tzdata.noarch 2008e-1.el5更新 目前我并不过分担心其他过时的软件包,但正如您所看到的,没有可用的Subversion更新

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

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

所以我想下一个问题是为什么要把事情搞砸。。。。不过我不确定


编辑:有关优先级的更多信息,请参阅。

您试图做的是替换“核心”包(即 包含在CentOS存储库中),并带有来自“第三方”的更新包 party“repository(RPMForge),这就是优先级插件 旨在防止

RPMForge存储库包含在中未找到的两个附加包 CentOS以及更新版本的核心软件包。不幸的是,
yum
非常愚蠢,总是将包更新到最新版本 它可以在任何存储库中找到。因此,使用RPMforge运行“
yum update
” 启用将使用最新(最新)更新一半系统, RPMForge的包可能不稳定且支持性较差

因此,建议使用RPMForge等回购协议的方法是使用它们 仅与类似“priorites”的yum插件结合使用,这样可以防止 来自“高”优先级回购的包覆盖来自“低”优先级回购的包 优先级回购(“优先级”参数的名称非常重要 误导性)。通过这种方式,您可以节省安装其他软件包(即 (不在内核中),这是大多数人想要的

现在回到你原来的问题

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

  • 卸载优先级插件,并通过以下方式禁用RPMForge存储库: 默认设置(在
    /etc/yum.repos.d/rpmforge.repo
    中设置
    启用=0
    )。你可以 然后在命令行上有选择地启用它:

    yum --enablerepo=rpmforge install subversion
    
    将从RPMForge安装最新的subversion和依赖项

    这种方法的问题是,如果对 在RPMForge中的subversion包,当repo是 残废要使subversion保持最新,您必须记住运行

    yum --enablerepo=rpmforge update subversion
    
    不时地

  • 第二种可能是使用priorites插件,但需要手动 “屏蔽”核心subversion包(将
    exclude=subversion
    添加到
    [base]
    [update]
    
      $ rpm -qa|grep subversion
        subversion-1.4.2-4.el5_3.1
        subversion-1.4.2-4.el5_3.1 
    
    $ yum --enablerepo=rpmforge check-update subversion
    subversion.x86_64      1.6.6-0.1.el5.rf         rpmforge
    
    $ 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