【问题标题】:How do I Upgrade to Subversion 1.5 On CentOS 5? [closed]如何在 CentOS 5 上升级到 Subversion 1.5? [关闭]
【发布时间】:2010-09-10 22:17:33
【问题描述】:

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

但是,当我尝试运行时:

$ yum info subversion

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

有什么想法吗?

【问题讨论】:

  • 您可以切换到 Ubuntu 并解决更多问题 ;)

标签: linux svn version-control centos centos5


【解决方案1】:

感谢 Matt - 我们在 SVN 上也有唯一的 SVN 1.7 发行版。

您可能还想试试uberSVN

【讨论】:

    【解决方案2】:

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

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

    不,我不在那里工作,也没有任何从属关系……只是找到了它,并想我会让你们知道。

    祝你好运。

    【讨论】:

    • 也许这应该是一条评论?
    【解决方案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 的全部功能

    【讨论】:

      【解决方案4】:

      你想要做的是替换一个“核心”包(一个是 包含在 CentOS 存储库中)带有来自“3rd 党”存储库(RPMForge),这是优先插件是什么 旨在防止。

      RPMForge 存储库包含两个在 CentOS,以及更新版本的核心包。不幸的是,yum 非常愚蠢,并且总是将软件包更新到最新版本 它可以在 any 存储库中找到。所以用 RPMforge 运行“yum update” 启用将使用最新的(出血边缘, 来自 RPMForge 的软件包可能不稳定且支持较差)。

      因此,使用 RPMForge 等 repos 的推荐方法是使用它们 仅与“priorites”之类的 yum 插件一起使用,可防止 来自“高”优先级存储库的包以覆盖来自“低”的包 优先级回购(“优先级”参数的名称非常 误导)。这样您就可以节省安装附加包(即 不在核心)来自 RPMForge,这是大多数人想要的。

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

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

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

        yum --enablerepo=rpmforge install subversion
        

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

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

        yum --enablerepo=rpmforge update subversion
        

        不时。

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

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

      【讨论】:

      • 感谢 8jean,您的解决方案效果很好。它没有按我预期的方式运行的原因是我对优先级插件的误解;我认为通过使用 --enablerepo 启用 repo 将绕过优先级检查。好像我弄错了。再次感谢!
      • 这是我第一次在 Google 上搜索并获得 Stackoverflow 答案作为第一个搜索结果!这是完美的。
      • #2 是一个很好的建议,似乎对我很有效。我对易于更新系统的长期影响很感兴趣。我知道搞砸这些事情会让事情变得棘手......
      • 如果您使用的是 CentOS 5.5 或更高版本,则需要启用 rpmforge-extras 存储库。所有覆盖基础包的包都移到了 rpmforge-extras。
      • @MarkBiek 我的搜索总是得到 Stack Overflow 的答案。使用duckduckgo.com! ;-)
      【解决方案5】:

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

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

      所以我想下一个问题是为什么优先级搞砸了……不过我不确定。

      编辑:有关优先级的更多信息,请参阅8jean's answer

      【讨论】:

        【解决方案6】:

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

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

        加载“优先级”插件 加载“fastestmirror”插件 从缓存的主机文件加载镜像速度 * epel:mirror.unl.edu * rpmforge:fr2.rpmfind.net * 基地:mirrors.portafixe.com * 更新:mirrors.portafixe.com * 插件:mirrors.portafixe.com * 额外内容:mirrors.portafixe.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 更新。

        【讨论】:

          【解决方案7】:

          如果您安装 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。

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

          【讨论】:

            【解决方案8】:

            RPMForge 已经在 /etc/yum.repos.d/ 为 rpmforge.repo,内容为:

            # 名称:用于 Red Hat Enterprise 5 的 RPMforge RPM 存储库 - dag # 网址:http://rpmforge.net/ [rpm锻造] 名称 = 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 启用 = 1 保护 = 0 gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag gpg检查 = 1 优先级=20

            【讨论】:

              【解决方案9】:

              在 Dag 的存储库中最高为 v 1.4.6。

              您可以尝试来自Fedora's repo 的版本,或者对主要存储库有一点耐心来升级它。

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

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

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2021-04-17
                • 1970-01-01
                • 2013-04-25
                • 2023-01-13
                • 1970-01-01
                • 2016-07-27
                相关资源
                最近更新 更多