如何在 CentOS 5 上升级到 Subversion 1.5? [关闭]
Posted
技术标签:
【中文标题】如何在 CentOS 5 上升级到 Subversion 1.5? [关闭]【英文标题】:How do I Upgrade to Subversion 1.5 On CentOS 5? [closed] 【发布时间】: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 并解决更多问题 ;) 【参考方案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,这是大多数人想要的。
现在回到你原来的问题......
如果您想要替换核心包,事情会变得有些棘手。 基本上,您有两种选择:
卸载优先插件,并禁用 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
不时。
第二种可能是使用priorites插件,但是手动
“掩码”核心颠覆包(添加exclude=subversion
到
[base]
和 [update]
部分在 /etc/yum.repos.d/CentOS-Base.repo
)。
现在 yum 将表现得好像没有名为“subversion”的包
核心存储库并愉快地安装最新版本
RPMForge。另外,您将始终获得最新的颠覆更新
运行时yum update
。
【讨论】:
感谢 8jean,您的解决方案效果很好。它没有按我预期的方式运行的原因是我对优先级插件的误解;我认为通过使用 --enablerepo 启用 repo 将绕过优先级检查。好像我弄错了。再次感谢! 这是我第一次在 Google 上搜索并获得 *** 答案作为第一个搜索结果!这是完美的。 #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 安装。
【讨论】:
以上是关于如何在 CentOS 5 上升级到 Subversion 1.5? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
在 CentOS 上升级到 python 2.7 后如何为 2.7 版本安装 python-devel