如何在 CentOS/RHEL 5/6/7 中安装 Subversion(SVN) 1.7/1.8/1.9

系统默认 yum 安装的 svn(Apache Subversion) 是 1.7 的,由于公司的 svn server 是 1.8,使用时会有些问题。于是我尝试找个方法安装个 1.8 的 svn,可在网上找到的方式无非两种,一种是教人手动添加 yum repo,另一种更扯淡,教人怎么编译源码进行安装。

我不是反对手动添加 repo,但这种机械操作应该让脚本去执行,在这件事情上机器比人可靠。我也不是反对编译源码安装,只是觉得没到这个地步——svn 不是一款特定领域里的小众工具,也不是刚进入阶段的新兴产品,而是一款大众的、广泛使用的生产工具,为这样一个工具去编译源码着实有点夸张了。

我坚信有自动安装脚本——如果没有,我就现写一个造福人类。

终究这个造福人类的机会不是留给我的,在看网站的教程都指向 http://opensource.wandisco.com/ 后,我就去这个 repo 上找了一下……

来来来,不卖关子了:

这些脚本其实就是替人添加 yum repo,并发起 yum 安装,但相比人手动操作,脚本里有更多的判断、处理逻辑。

这样一来安装起来就简单了,以 1.8 为例:

wget http://opensource.wandisco.com/1.8/scripts/subversion_installer_1.8.sh
chmod +x subversion_installer_1.8.sh
./subversion_installer_1.8.sh
rm subversion_installer_1.8.sh

需要注意下,运行脚本是会提示两次 Do you want to continue? (Y/n),第一次是询问是否安装(或升级) svn,自然选 yes;第二次是询问是否安装 mod_dav_svn 和其依赖(包括 apache httpd),即安装一个简易的 svn server,这对于平时开发来说是不必要的,选择 no 即可。

最后正名一下,不是网上教人安装的那些博主不够良心,可能是在那之前这些脚本还不存在。我特地查了一下,这些脚本 “Last Modified” 时间分别是 2015 年 10 月(1.7)和 2016 年 12 月(1.8、1.9),所以一种可能就是这些脚本就是上述的时间创建的,而网上搜到的安装方法的发布时间普遍更早。

我猜想编写这些脚本的人也是看不下去了吧。