天天看點

CentOS 5.3 安裝新版subversion

=====================

CentOS 5.3 安裝新版subversion

=====================

周海漢 /文

2009.10.14

由于原來的subversion伺服器硬體有問題,是以需将其遷移到新伺服器上。我們安裝的是Centos 5.3. 大家都說CentOS 更新慢。果然,裡面自帶的subversion還是1.4.2。而我們原來備份的subversion庫是1.5版本的。

1.嘗試在已存在的subversion  1.4.2上恢複:

---------------------------------------------------

[[email protected] ~]# svnserve -d -r /root/svn

[[email protected] ~]# svn ls svn://192.168.11.148

svn: Expected FS format '2'; found format '3'

svn: 期待檔案系統(FS)格式 “2”;找到格式“3”

這是因為待恢複的subversion版本和現在安裝的subversion不一緻,待恢複的較新。

[[email protected] ~]# svnserve --version

svnserve, version 1.4.2 (r22196)

2. 嘗試在centos 5.3安裝subversion 1.6.5

--------------------------------------------------

必須更新subversion。

查到最新穩定版為subversion-1.6.5。

下載下傳位址

http://subversion.tigris.org/getting.html

如果下載下傳源碼編譯,會有很多依賴的庫也需要下載下傳。是以直接下redhat AS 5 對應的rpm安裝。

[[email protected] ~]# 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

[[email protected] ~]# rpm -ivh neon-0.28.4-1.i386.rpm

Preparing...                ########################################### [100%]

   1:neon                   ########################################### [100%]

需要先安裝sqlite

[[email protected] ~]# rpm -ivh subversion-1.6.5-1.i386.rpm

error: Failed dependencies:

        sqlite >= 3.4 is needed by subversion-1.6.5-1.i386

安裝sqlite呢?與已有版本沖突

[[email protected] ~]# 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

[[email protected] ~]# rpm -qa | grep sqlite

python-sqlite-1.1.7-1.2.1

sqlite-devel-3.3.6-2

sqlite-3.3.6-2

解除安裝?有依賴

[[email protected] ~]# 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

        sqlite is needed by (installed) systemtap-0.7.2-2.el5.i386

覺不可強行解除安裝sqlite,前人已有經驗,會死的很難看。

更新呢? 有sqlite-devel-3.3.6-2.i386依賴

[[email protected] ~]# 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呢?又說需要先安裝了sqlite = 3.5.9-2 才行。

[[email protected] ~]# 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

這就形成一個循環依賴了。想更新sqlite 3.3到3.5, 告訴我sqllite devel 3.3需要它。更新sqllite devel 3.3呢,告訴我必須先安裝sqlite 3.5

删除sqlite-devel-3.3.6-2呢?不行

[[email protected] ~]# 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

改安裝subversion 1.5

-----------------------

一時無法,是以還是安裝subversion 1.5吧。

由于1.65對sqlite版本的依賴,轉到較老的1.57版,不需要sqlite支援。

到 http://www.open.collab.net/downloads/subversion.html 下載下傳認證的rpm release,需要在collab注冊。

直接安裝伺服器端,提示依賴錯誤

[[email protected] ~]# 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

[[email protected] ~]# 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

[[email protected] ~]# 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%]

成功了。

不過,執行

[[email protected] ~]# svnserve --version

svnserve,版本 1.4.2 (r22196)

   編譯于 Jan 21 2009,20:11:00

還是1.4.2

[[email protected] ~]# whereis svnserve

svnserve: /usr/bin/svnserve /opt/CollabNet_Subversion/bin/svnserve /usr/share/man/man8/svnserve.8.gz

發現新版被安裝與/opt目錄去了。

執行

[r[email protected] ~]# /opt/CollabNet_Subversion/bin/svnserve --version

svnserve,版本 1.5.7 (r36142)

   編譯于 Aug  7 2009,15:28:37

可以将/opt相應bin目錄的svn*拷到/usr/bin,也可以直接執行該目錄。

我的版本庫放在/root/svn目錄下,直接從原機器打包拷過來的。

/opt/CollabNet_Subversion/bin/svnserve -d -r /root/svn

需要配置一下svnserve.conf和相應的權限

執行

svn list svn://localhost/

就會顯示相應的庫,一切ok。

繼續閱讀