全面剖析:CentOS下如何安裝Subversion
前面我們介紹了Subversion在Linux和Unix下的安裝,這里我們看看CentOS5.3下如何安裝Subversion。
由于原來的subversion服務(wù)器硬件有問題,所以需將其遷移到新服務(wù)器上。我們安裝的是Centos5.3.大家都說CentOS更新慢。果然,里面自帶的subversion還是1.4.2。而我們原來備份的subversion庫是1.5版本的。
1.嘗試在已存在的subversion1.4.2上恢復(fù):
[root@svnserv~]#svnserve-d-r/root/svn
[root@svnserv~]#svnlssvn://192.168.11.148
svn:ExpectedFSformat'2';foundformat'3'
svn:期待文件系統(tǒng)(FS)格式“2”;找到格式“3”
這是因?yàn)榇謴?fù)的subversion版本和現(xiàn)在安裝的subversion不一致,待恢復(fù)的較新。
[root@svnserv~]#svnserve--version
svnserve,version1.4.2(r22196)
2.嘗試在centos5.3安裝subversion1.6.5
必須升級subversion。
查到***穩(wěn)定版為subversion-1.6.5。
下載地址:http://subversion.tigris.org/getting.html如果下載源碼編譯,會有很多依賴的庫也需要下載。所以直接下redhatAS5對應(yīng)的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
覺不可強(qiáng)行卸載sqlite,前人已有經(jīng)驗(yàn),會死的很難看。
升級呢?有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,這就形成一個(gè)循環(huán)依賴了。想升級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
一時(shí)無法,所以還是安裝subversion1.5吧。由于1.65對sqlite版本的依賴,轉(zhuǎn)到較老的1.57版,不需要sqlite支持。
到http://www.open.collab.net/downloads/subversion.html下載認(rèn)證的rpmrelease,需要在collab注冊。
直接安裝服務(wù)器端,提示依賴錯(cuò)誤[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%]
成功了。
不過,執(zhí)行[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
發(fā)現(xiàn)新版被安裝與/opt目錄去了。執(zhí)行[root@svnserv~]#/opt/CollabNet_Subversion/bin/svnserve--version
svnserve,版本1.5.7(r36142)可以將/opt相應(yīng)bin目錄的svn*拷到/usr/bin,也可以直接執(zhí)行該目錄。
我的版本庫放在/root/svn目錄下,直接從原機(jī)器打包拷過來的。
/opt/CollabNet_Subversion/bin/svnserve-d-r/root/svn需要配置一下svnserve.conf和相應(yīng)的權(quán)限。
執(zhí)行svnlistsvn://localhost/就會顯示相應(yīng)的庫,一切ok。
【編輯推薦】