全面剖析:CentOS下如何安装Subversion
创始人
2024-07-01 02:50:53
0

前面我们介绍了Subversion在Linux和Unix下的安装,这里我们看看CentOS5.3下如何安装Subversion。

由于原来的subversion服务器硬件有问题,所以需将其迁移到新服务器上。我们安装的是Centos5.3.大家都说CentOS更新慢。果然,里面自带的subversion还是1.4.2。而我们原来备份的subversion库是1.5版本的。

1.尝试在已存在的subversion1.4.2上恢复:
[root@svnserv~]#svnserve-d-r/root/svn
[root@svnserv~]#svnlssvn://192.168.11.148
svn:ExpectedFSformat'2';foundformat'3'
svn:期待文件系统(FS)格式“2”;找到格式“3”
这是因为待恢复的subversion版本和现在安装的subversion不一致,待恢复的较新。
[root@svnserv~]#svnserve--version
svnserve,version1.4.2(r22196)

2.尝试在centos5.3安装subversion1.6.5
必须升级subversion。
查到***稳定版为subversion-1.6.5。
下载地址:http://subversion.tigris.org/getting.html如果下载源码编译,会有很多依赖的库也需要下载。所以直接下redhatAS5对应的rpm安装。
[root@svnserv~]#rpm-ivhsubversion-1.6.5-1.i386.rpm
error:Faileddependencies:
libneon.so.27isneededbysubversion-1.6.5-1.i386
neon>=0.26.1isneededbysubversion-1.6.5-1.i386
sqlite>=3.4isneededbysubversion-1.6.5-1.i386
[root@svnserv~]#rpm-ivhneon-0.28.4-1.i386.rpm
Preparing...###########################################[100%]
1:neon###########################################[100%]

需要先安装sqlite[root@svnserv~]#rpm-ivhsubversion-1.6.5-1.i386.rpm
error:Faileddependencies:sqlite>=3.4isneededbysubversion-1.6.5-1.i386

安装sqlite呢?与已有版本冲突
[root@svnserv~]#rpm-ivhsqlite-3.5.9-2.i386.rpm
Preparing...###########################################[100%]
file/usr/bin/sqlite3frominstallofsqlite-3.5.9-2.i386conflictswithfilefrompackagesqlite-3.3.6-2.i386
file/usr/lib/libsqlite3.so.0.8.6frominstallofsqlite-3.5.9-2.i386conflictswithfilefrompackagesqlite-3.3.6-2.i386
[root@svnserv~]#rpm-qa|grepsqlite
python-sqlite-1.1.7-1.2.1
sqlite-devel-3.3.6-2
sqlite-3.3.6-2
 

卸载?有依赖
[root@svnserv~]#rpm-esqlite-3.3.6-2
error:Faileddependencies:
libsqlite3.so.0isneededby(installed)php-pdo-5.1.6-23.el5.i386
libsqlite3.so.0isneededby(installed)sqlite-devel-3.3.6-2.i386
libsqlite3.so.0isneededby(installed)rpm-4.4.2.3-9.el5.i386
libsqlite3.so.0isneededby(installed)rpm-libs-4.4.2.3-9.el5.i386
libsqlite3.so.0isneededby(installed)apr-util-1.2.7-7.el5.i386
libsqlite3.so.0isneededby(installed)python-sqlite-1.1.7-1.2.1.i386
libsqlite3.so.0isneededby(installed)yum-metadata-parser-1.1.2-2.el5.i386
libsqlite3.so.0isneededby(installed)rpm-build-4.4.2.3-9.el5.i386
libsqlite3.so.0isneededby(installed)rpm-devel-4.4.2.3-9.el5.i386
libsqlite3.so.0isneededby(installed)systemtap-0.7.2-2.el5.i386
sqlite=3.3.6-2isneededby(installed)sqlite-devel-3.3.6-2.i386
sqliteisneededby(installed)systemtap-0.7.2-2.el5.i386

觉不可强行卸载sqlite,前人已有经验,会死的很难看。
升级呢?有sqlite-devel-3.3.6-2.i386依赖
[root@svnserv~]#rpm-Uvhsqlite-3.5.9-2.i386.rpm
error:Faileddependencies:
sqlite=3.3.6-2isneededby(installed)sqlite-devel-3.3.6-2.i386
那升级sqlite-devel-3.3.6-2.i386到sqlite-devel-3.5.9-2.i386呢?又说需要先安装了sqlite=3.5.9-2才行。
[root@svnserv~]#rpm-Uvhsqlite-devel-3.5.9-2.i386.rpm
error:Faileddependencies:
sqlite=3.5.9-2isneededbysqlite-devel-3.5.9-2.i386,这就形成一个循环依赖了。想升级sqlite3.3到3.5,告诉我sqllitedevel3.3需要它。升级sqllitedevel3.3呢,告诉我必须先安装sqlite3.5。
删除sqlite-devel-3.3.6-2呢?不行
[root@svnserv~]#rpm-esqlite-devel-3.3.6-2
error:Faileddependencies:
sqlite-develisneededby(installed)rpm-devel-4.4.2.3-9.el5.i386

3.改安装subversion1.5
一时无法,所以还是安装subversion1.5吧。由于1.65对sqlite版本的依赖,转到较老的1.57版,不需要sqlite支持。
到http://www.open.collab.net/downloads/subversion.html下载认证的rpmrelease,需要在collab注册。
直接安装服务器端,提示依赖错误[root@svnserv~]#rpm-ivhCollabNetSubversion-server-1.5.7-1.i386.rpm
warning:CollabNetSubversion-server-1.5.7-1.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID35bcca43
error:Faileddependencies:CollabNetSubversion-client>=1.5.7-1isneededbyCollabNetSubversion-server-1.5.7-1.i386
先安装1.5client[root@svnserv~]#rpm-ivhCollabNetSubversion-client-1.5.7-1.i386.rpm
warning:CollabNetSubversion-client-1.5.7-1.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID35bcca43
Preparing...###########################################[100%]
1:CollabNetSubversion-cli###########################################[100%]
再安装Subversion1.5serverok
[root@svnserv~]#rpm-ivhCollabNetSubversion-server-1.5.7-1.i386.rpm
warning:CollabNetSubversion-server-1.5.7-1.i386.rpm:HeaderV3DSAsignature:NOKEY,keyID35bcca43
Preparing...###########################################[100%]
1:CollabNetSubversion-ser###########################################[100%]
成功了。
不过,执行[root@svnserv~]#svnserve--version
svnserve,版本1.4.2(r22196)还是1.4.2[root@svnserv~]#whereissvnserve
svnserve:/usr/bin/svnserve/opt/CollabNet_Subversion/bin/svnserve/usr/share/man/man8/svnserve.8.gz
发现新版被安装与/opt目录去了。执行[root@svnserv~]#/opt/CollabNet_Subversion/bin/svnserve--version
svnserve,版本1.5.7(r36142)可以将/opt相应bin目录的svn*拷到/usr/bin,也可以直接执行该目录。
我的版本库放在/root/svn目录下,直接从原机器打包拷过来的。
/opt/CollabNet_Subversion/bin/svnserve-d-r/root/svn需要配置一下svnserve.conf和相应的权限。
执行svnlistsvn://localhost/就会显示相应的库,一切ok。
 

【编辑推荐】

  1. 三大主流Subversion客户端初探
  2. Windows平台下的Subversion安装配置新手指南
  3. 在Linux下subversion和apache安装配置
  4. Subversion Pre-Commit-Hook Template未明安全漏洞
  5. CentOS系统中安装subversion并使用svn+ssh访问

相关内容

热门资讯

PHP新手之PHP入门 PHP是一种易于学习和使用的服务器端脚本语言。只需要很少的编程知识你就能使用PHP建立一个真正交互的...
网络中立的未来 网络中立性是什... 《牛津词典》中对“网络中立”的解释是“电信运营商应秉持的一种原则,即不考虑来源地提供所有内容和应用的...
各种千兆交换机的数据接口类型详... 千兆交换机有很多值得学习的地方,这里我们主要介绍各种千兆交换机的数据接口类型,作为局域网的主要连接设...
什么是大数据安全 什么是大数据... 在《为什么需要大数据安全分析》一文中,我们已经阐述了一个重要观点,即:安全要素信息呈现出大数据的特征...
如何允许远程连接到MySQL数... [[277004]]【51CTO.com快译】默认情况下,MySQL服务器仅侦听来自localhos...
如何利用交换机和端口设置来管理... 在网络管理中,总是有些人让管理员头疼。下面我们就将介绍一下一个网管员利用交换机以及端口设置等来进行D...
施耐德电气数据中心整体解决方案... 近日,全球能效管理专家施耐德电气正式启动大型体验活动“能效中国行——2012卡车巡展”,作为该活动的...
Windows恶意软件20年“... 在Windows的早期年代,病毒游走于系统之间,偶尔删除文件(但被删除的文件几乎都是可恢复的),并弹...
范例解读VB.NET获取环境变... VB.NET编程语言的使用范围非常广泛,可以帮助开发人员处理各种程序中的需求,而且还能对移动设备进行...
规避非法攻击 用好路由器远程管... 单位在市区不同位置设立了科技服务点,每一个服务点的员工都通过宽带路由器进行共享上网,和单位网络保持联...