CentOS安裝新版subversion
subversion 經(jīng)常被我們所使用,但由于原來的subversion服務(wù)器硬件有問題,所以需將其遷移到新服務(wù)器上。我們的是CentOS安裝. 大家都說CentOS 更新慢。果然,里面自帶的subversion還是1.4.2。而我們原來備份的subversion庫是1.5版本的。
1.嘗試在已存在的subversion 1.4.2上恢復(fù):
[root@svnserv ~]# svnserve -d -r /root/svn
[root@svnserv ~]# svn ls svn://192.168.11.148
svn: Expected FS format '2'; found format '3'
svn: 期待文件系統(tǒng)(FS)格式 “2”;找到格式“3”
這是因?yàn)榇謴?fù)的subversion版本和現(xiàn)在CentOS安裝的subversion不一致,待恢復(fù)的較新。
[root@svnserv ~]# svnserve --version
svnserve, version 1.4.2 (r22196)
2. 嘗試在CentOS安裝subversion 1.6.5
必須升級subversion。
查到***穩(wěn)定版為subversion-1.6.5。
如果下載源碼編譯,會(huì)有很多依賴的庫也需要下載。所以直接下redhat AS 5 對應(yīng)的rpm安裝。
- [root@svnserv ~]# rpm -ivh subversion-1.6.5-1.i386.rpm
- error: Failed dependencies:
- libneon.so.27 is needed by subversion-1.6.5-1.i386
- neon >= 0.26.1 is needed by subversion-1.6.5-1.i386
- sqlite >= 3.4 is needed by subversion-1.6.5-1.i386
- [root@svnserv ~]# rpm -ivh neon-0.28.4-1.i386.rpm
- Preparing... ########################################### [100%]
- 1:neon ########################################### [100%]
需要先在CentOS安裝sqlite
- [root@svnserv ~]# rpm -ivh subversion-1.6.5-1.i386.rpm
- error: Failed dependencies:
- sqlite >= 3.4 is needed by subversion-1.6.5-1.i386
CentOS安裝sqlite呢?與已有版本沖突
- [root@svnserv ~]# rpm -ivh sqlite-3.5.9-2.i386.rpm
- Preparing... ########################################### [100%]
- file /usr/bin/sqlite3 from install of sqlite-3.5.9-2.i386 conflicts with file from package sqlite-3.3.6-2.i386
- file /usr/lib/libsqlite3.so.0.8.6 from install of sqlite-3.5.9-2.i386 conflicts with file from package sqlite-3.3.6-2.i386
- [root@svnserv ~]# rpm -qa | grep sqlite
- python-sqlite-1.1.7-1.2.1
- sqlite-devel-3.3.6-2
- sqlite-3.3.6-2
卸載?有依賴
- [root@svnserv ~]# rpm -e sqlite-3.3.6-2
- error: Failed dependencies:
- libsqlite3.so.0 is needed by (installed) php-pdo-5.1.6-23.el5.i386
- libsqlite3.so.0 is needed by (installed) sqlite-devel-3.3.6-2.i386
- libsqlite3.so.0 is needed by (installed) rpm-4.4.2.3-9.el5.i386
- libsqlite3.so.0 is needed by (installed) rpm-libs-4.4.2.3-9.el5.i386
- libsqlite3.so.0 is needed by (installed) apr-util-1.2.7-7.el5.i386
- libsqlite3.so.0 is needed by (installed) python-sqlite-1.1.7-1.2.1.i386
- libsqlite3.so.0 is needed by (installed) yum-metadata-parser-1.1.2-2.el5.i386
- libsqlite3.so.0 is needed by (installed) rpm-build-4.4.2.3-9.el5.i386
- libsqlite3.so.0 is needed by (installed) rpm-devel-4.4.2.3-9.el5.i386
- libsqlite3.so.0 is needed by (installed) systemtap-0.7.2-2.el5.i386
- sqlite = 3.3.6-2 is needed by (installed) sqlite-devel-3.3.6-2.i386
- qlite is needed by (installed) systemtap-0.7.2-2.el5.i386
覺不可強(qiáng)行卸載sqlite,前人已有經(jīng)驗(yàn),會(huì)死的很難看。
升級呢? 有sqlite-devel-3.3.6-2.i386依賴
- [root@svnserv ~]# rpm -Uvh sqlite-3.5.9-2.i386.rpm
- error: Failed dependencies:
- sqlite = 3.3.6-2 is needed by (installed) sqlite-devel-3.3.6-2.i386
那升級sqlite-devel-3.3.6-2.i386到sqlite-devel-3.5.9-2.i386呢?又說需要先CentOS安裝了sqlite = 3.5.9-2 才行。
- [root@svnserv ~]# rpm -Uvh sqlite-devel-3.5.9-2.i386.rpm
- error: Failed dependencies:
- sqlite = 3.5.9-2 is needed by sqlite-devel-3.5.9-2.i386
這就形成一個(gè)循環(huán)依賴了。想升級sqlite 3.3到3.5, 告訴我sqllite devel 3.3需要它。升級sqllite devel 3.3呢,告訴我必須先安裝sqlite
刪除sqlite-devel-3.3.6-2呢?不行
- [root@svnserv ~]# rpm -e sqlite-devel-3.3.6-2
- error: Failed dependencies:
- sqlite-devel is needed by (installed) rpm-devel-4.4.2.3-9.el5.i386
改CentOS安裝subversion 1.5
一時(shí)無法,所以還是安裝subversion 1.5吧。
由于1.65對sqlite版本的依賴,轉(zhuǎn)到較老的1.57版,不需要sqlite支持。
到 http://www.open.collab.net/downloads/subversion.html 下載認(rèn)證的rpm release,需要在collab注冊。
直接安裝服務(wù)器端,提示依賴錯(cuò)誤
- [root@svnserv ~]# rpm -ivh CollabNetSubversion-server-1.5.7-1.i386.rpm
- warning: CollabNetSubversion-server-1.5.7-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 35bcca43
- error: Failed dependencies:
- CollabNetSubversion-client >= 1.5.7-1 is needed by CollabNetSubversion-server-1.5.7-1.i386
- 先安裝1.5 client
- [root@svnserv ~]# rpm -ivh CollabNetSubversion-client-1.5.7-1.i386.rpm
- warning: CollabNetSubversion-client-1.5.7-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 35bcca43
- Preparing... ########################################### [100%]
- 1:CollabNetSubversion-cli########################################### [100%]
- 再安裝 1.5 server ok
- [root@svnserv ~]# rpm -ivh CollabNetSubversion-server-1.5.7-1.i386.rpm
- warning: CollabNetSubversion-server-1.5.7-1.i386.rpm: Header V3 DSA signature: NOKEY, key ID 35bcca43
- Preparing... ########################################### [100%]
- 1:CollabNetSubversion-ser########################################### [100%]
成功了。
不過,執(zhí)行 [root@svnserv ~]# svnserve --version
svnserve,版本 1.4.2 (r22196)
編譯于 Jan 21 2009,20:11:00
還是1.4.2 [root@svnserv ~]# whereis svnserve
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)
編譯于 Aug 7 2009,15:28:37
可以將/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í)行svn list svn://localhost/
就會(huì)顯示相應(yīng)的庫,一切ok。這樣就是在CentOS安裝新版subversion。
【編輯推薦】