2008-09-30 130 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 

用户永远不会看到或不知道存储库的绝对路径。