Posted on 2010-09-10 17:10
幻海蓝梦 阅读(804)
评论(0) 编辑 收藏 所属分类:
Linux 、
工具
前面我们介绍了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。
http://developer.51cto.com/art/201005/200167.htm