2008-09-30 144 views
0

我即將建立一個通過svn + ssh訪問的subversion服務器。我想知道,默認存儲庫的位置是(在unix盒子上)。svn +存儲庫位置

你把它放在

/opt/svn 

/home/svn 

/usr/subversion 

甚至

/svn 

還是別的地方?

我在找地方,大多數人都說。有一個約定嗎?

編輯:

這是絕對有可能「隱藏」的實際存儲庫從用戶的位置。例如(在我的情況)通過環繞的方式svnserve的可執行文件,它被稱爲像:

svnserve -r /var/svn/repos 

回答

6

我通常放在倉庫某處/var下,一般在/var/lib/svn - 我試圖按照Filesystem Hierarchy Standard這有這個說明purpose of /var

/var這裏指定爲了能夠使/usr只讀。在系統運行過程中(而不是安裝和軟件維護)寫入的所有內容都必須在/var之內。

3

/home/svn這裏,主要是因爲我認爲在某些時候我可能需要一個svn用戶...

+0

我喜歡在/ home(以及apache託管文件等)中使用我的svn repo,以便在重新安裝操作系統時需要保留的所有內容位於一個分區上。這也使備份更容易一些。 – antik 2008-09-30 12:00:02

1

這絕對應該是在/ var。我將它保存在/ var/lib/svn中。/opt對於保留作爲系統一部分的應用程序非常有用,例如:Firefox或MySql。存儲庫不是應用程序,因此將其保存在/ opt中是沒有意義的。

而且像上面的評論,你可以參考基於新FHS的FHS

2

,你應該把「數據由該系統提供的服務」進入/ SRV目錄。除了將服務數據的所有內容放在該目錄中(如http等)外,FHS中沒有其他任何指導,我會建議/ srv/svn /。

2

至於對資源庫中的路徑去,我喜歡分區並安裝它調用庫目錄;)

/庫

這樣我可以很容易地檢查大小使用「df」

是否可以隱藏用戶的絕對路徑 ?

要回答這個問題,是的,但只有當他們沒有完全訪問該框。你用一個帳戶設置它們,讓它們生成一個公鑰/私鑰來登錄,但是你永遠不會給它們輸入密碼。

那麼你的貓的鑰匙插入/家/ < _user> /。SSH/authorized_keys文件,並使得所述登錄與鍵啓動編輯設置svn的發球。

command="/usr/local/bin/svnserve -t -r /repository/" 

現在在庫中創建一個項目:

svnadmin create /repository/proj1 

使用SVN,你必須給到項目目錄的用戶讀/寫訪問。然後他們能夠檢查出如下代碼:

svn co svn+ssh://host/proj1 

用戶永遠不會看到或不知道存儲庫的絕對路徑。