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

但是,当我尝试运行时:

$ yum info subversion

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

有什么想法吗?

有帮助吗?

解决方案

您要做的是用“第三方”存储库(rpmforge)的较新软件包替换一个“核心”软件包(一个包含在CentOS存储库中的软件包),这是优先插件旨在防止的。

RPMFORGE存储库既包含CentOS中找不到的其他软件包,也包含较新版本的Core软件包。很遗憾, yum很愚蠢,并且会始终将软件包更新为它可以找到的最新版本 任何 存储库。于是跑了“yum update“启用RPMFORGE将使用RPMFORGE的最新(可能不稳定的边缘,可能不稳定且支持良好的支持)更新系统的一半。

因此,使用rpmforge之类的使用存储库的推荐方法是将它们仅与诸如“ Priorites”之类的百胜插件一起使用,该插件可防止包装从“高”优先级存储库中覆盖“低”优先级存储库(优先级的名称) “参数非常误导)。这样你就可以保存安装了 额外的 来自RPMFORGE的软件包(不在核心中),这是大多数人想要的。

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

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

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

    yum --enablerepo=rpmforge install subversion
    

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

    这种方法的问题是,如果在rpmforge中对颠覆软件包进行了更新,则在禁用回购时,您将看不到它。为了使 subversion 保持最新,你必须记住运行

    yum --enablerepo=rpmforge update subversion
    

    时。

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

    现在,YUM将表现得好像没有包含“颠覆”的软件包在核心存储库中,并愉快地安装了rpmforge的最新版本。另外,运行时您将始终获得最新的颠覆更新 yum update.

其他提示

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 的全部功能

谢谢 Matt - 我们还有唯一的 SVN 1.7 发行版 SVN.

您可能还想尝试 超级SVN.

如果你安装 RPM锻造的存储库,然后您应该能够获得更新的软件包 - 这对您不起作用?

您应该在 /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。

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

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

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

所以我想下一个问题是为什么优先级会搞砸......不过我对此并不确定。

编辑:看 8吉恩的回答 有关优先级的更多信息。

Dag 存储库中的最新版本为 1.4.6。

你可以尝试一下来自 Fedora 的存储库 或者对主存储库有一点耐心来升级它。

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

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

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

# 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

我在 /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 更新。

您所需要做的就是获取此脚本。在 CentOS 5.3 上完美运行

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

不,我不在那里工作,也没有任何隶属关系......刚刚找到它并想​​我会让你们知道。

祝你好运。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top