Linux 系統操作 SVN 倉庫基礎

2021-08-07 15:23:14 字數 2937 閱讀 2686

在 window 系統中想用 svn 伺服器,只需要安裝 visualsvn-server 即可,這是帶有圖形操作介面的,那麼建立倉庫,新建使用者,修改密碼,修改許可權等操作很簡單,動動滑鼠就可以了。

那麼在 linux 系統中,如何進行這些操作呢?這裡假設已經安裝好了 svn 伺服器,具體安裝過程這裡就不再寫了。

檢視 svn 版本:

svn --version(包含版本資訊、編譯資訊、版權資訊等)

svn --version --quiet(只檢視版本號)

svnadmin create product3dl

如果找不到剛建立的倉庫,可以用 find 命令來查詢:

find -name product3dl

其中,product3dl 就是倉庫名,倉庫建立好以後會出現乙個倉庫名的資料夾,資料夾下面有 conf 等幾個目錄和檔案。

檢視倉庫下的所有目錄及檔案:

cd product3dl/

ll -a

結果:

total 32

drwxrwxr-x. 6 svn svn 4096 dec 15 09:44 .

drwx——. 26 svn svn 4096 dec 15 09:44 ..

drwxrwxr-x. 2 svn svn 4096 dec 15 09:44 conf

drwxrwsr-x. 6 svn svn 4096 dec 15 09:44 db

-r–r–r–. 1 svn svn 2 dec 15 09:44 format

drwxrwxr-x. 2 svn svn 4096 dec 15 09:44 hooks

drwxrwxr-x. 2 svn svn 4096 dec 15 09:44 locks

-rw-rw-r–. 1 svn svn 229 dec 15 09:44 readme.txt

修改 conf 資料夾下的 authz 檔案:

vi authz

修改後如下:

#harryharry_and_sally = harry,sally

#harryharry_sally_and_joe = harry,sally,&joe

study = mll,cz,ldp,ly

admin = qzg,mll

[/home/svn/product3dl]

@admin = rw

@study = rw

* =

#[/foo/bar]

#harry = rw

#&joe = r

#* =

#[repository:/baz/fuz]

#@harry_and_sally = rw

此配置檔案採用「基於路徑的授權」策略,中括號裡指定路徑,以下列出對各使用者的授權。

包括唯讀 r,讀寫 rw。沒有列出的使用者,則不允許訪問。還可以對使用者分組,其中,1 個使用者組可以包含 1 個或多個使用者,使用者間以逗號分隔。

/ 表示根目錄(倉儲目錄)及以下,根目錄是 svnserve 啟動時指定的,我們指定 /opt/svndata。這樣,/ 就是表示對全部版本庫設定許可權。

許可權主體可以是使用者組、使用者或 ,使用者組在前面加@, 表示全部使用者。許可權可以是 w、r、wr 和空,空表示沒有任何許可權。

在 [groups] 下增加你的使用者組(記得等號前後留空格)。

新增了使用者以後就需要給使用者設定密碼了,開啟conf/passwd檔案:

vi passwd

取消 [users] 的注釋,並在下面加上你的使用者的密碼設定(記得等號左右的空格),如下:

#harry = harryssecret

#sally = sallyssecret

qzgqzg = qzg

mllmll = mll

czcz = cz

ldpldp = ldp

lyly = ly

需要啟動svn對使用者許可權、密碼的控制,不然的話你就只能讀而不能寫了。

修改svnserve.conf檔案:

vi svnserve.conf

各引數功能在配置檔案的注釋中有說明, 此處配置如下(取消下面幾條前面的 # 號注釋就 ok 了):

anon-access = read

auth-access = write

password-db = passwd

authzauthz-db = authz

需要給倉庫提供讀寫許可權,不然不能提交檔案:

chmod 777 -r product3dl/

啟動 svn 服務命令:

svnserve -d -r /svn

如果報錯如下:

svnserve: can』t bind server socket: address already in use

解決辦法:

使用「 ps -e|grep svnserve 」找到服務對應程序編號,使用 kill 命令後,再使用啟動命令重啟服務。

good luck!

svn倉庫新增專案 SVN 建立倉庫操作

服務端安裝完成後 1.建立乙個存放倉庫的資料夾 這裡在home目錄建立 mkdir svnrepo cd svnrepo 建立乙個倉庫 寫全路徑 svnadmin create root svnrepo test.com 檢視倉庫裡面預設的檔案結構 total8drwxr xr x.2 root r...

麒麟作業系統操練Linux基操

麒麟作業系統資訊 基操準則 教材名 linux程式設計 主編 嚴冰 劉加海 季江民 出版社 浙江大學出版社 備註 高等院校計算機技術 十二五 規劃教材 第一章 linux基本命令 1.1shell基礎 通用shell種類 bash tcshell korn shell。預設登入shell為bash。...

linux作業系統svn開機自啟

常用的有兩種方法 一,svn服務自起指令碼,把這個指令碼放在 etc rc.d init.d 目錄下,這個指令碼命名 svn vi etc rc.d init.d svn bin bash chkconfig 85 15 description svn server svn home svnroot...