svn倉庫從Windows遷移到Linux

說明:本次遷移是將svn從windows平臺遷移到linux平臺。windows使用的是visualSvn,linux使用的是svnserv。目標是能夠保留現有的倉庫、用戶、權限,並且讓客戶端最小化的更改配置。本次要遷移的倉庫位於D:\repo\first,目標是/data/svn/first。默認linux上已經裝好svnserv,沒裝好的先把軟件安裝好。

 

方案:通過svnadmin內置的dump工具導出所有數據。linux平臺直接導入對應的倉庫,修改對應的配置文件使得svnserv能夠正常提供服務。網關機做端口轉發使得外網可以訪問到倉庫。

 

操作流程:

①:在windows上命令行模式下通過svnadmin命令導出倉庫

svnadmin dump D:\repo\first -F D:repofirst.dump

 

②:使用linux上rz命令將導出的文件傳輸到linux系統

rz -be

然後選擇對應文件

如果提示 command not found 表示沒有安裝lrzsz工具,使用下面命令進行安裝。

yum install -y lrzsz

 

③:創建與windows端名稱相同的倉庫

svnadmin create /data/svn/first

 

④:導入倉庫

切換到與新建的倉庫同級目錄,執行load命令

cd /data/svn

svnadmin load first < /data/repofirst.dump

 

⑤:導入用戶和用戶組信息

D:\repo\htpasswd //用戶賬號和密碼

D:\repo\first\conf\VisualSVN-SvnAuthz.ini //倉庫目錄的權限信息

D:\repo\groups.conf //用戶組

用戶遷移

將 D:\repo\htpasswd 內容 拷貝到 /data/svn/first/conf/passwd中,問題是windows中的密碼是加密的,這個就沒辦法只能重置了。

用戶組遷移

將 D:\repo\groups.conf 內容拷貝到/data/svn/first/conf/authz對應的【groups】下。

倉庫目錄權限遷移

將 D:\repo\first\conf\VisualSVN-SvnAuthz.ini 內容拷貝到/data/svn/first/conf/authz用戶組內容後面。

 

⑥:修改配置文件並重啓服務

vim /data/svn/first/conf/svnserve.conf

anon-access = read

auth-access = write

password-db = passwd

authz-db = authz

force-username-case = none

保存文件並重啓

svnserve -d -r /data/svn/

 

⑦:測試使用

cd /data

svn co svn://127.0.0.1/first/dir1 --username=lee --password==lee

一般情況下是能夠正常使用了,如果出現svn: E170001: Authorization failed請覈對下目錄有沒有錯誤。svn的權限是根據目錄來分配的,然後去找找看配置文件有沒有把權限正確配置。還不行的話就檢查下配置項前面是不是有空格。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章