我即将建立一个通过svn + ssh访问的subversion服务器。我想知道,默认存储库位置在哪里(在unix框上)。
你把它放在
/opt/svn
或
/home/svn
或
/usr/subversion
甚至
/svn
或其他地方?
我正在寻找这个地方,大多数人都把它。有会议吗?
编辑:
绝对可以从用户“隐藏”实际的存储库位置。例如(在我的例子中)通过将svnserve
可执行文件包装成调用它的方式来包含它:
svnserve -r /var/svn/repos
答案 0 :(得分:6)
我通常将存储库放在/var
下的某个位置,通常位于/var/lib/svn
- 我正在尝试关注Filesystem Hierarchy Standard,其中有purpose of /var:< / p>
此处指定了
/var
,以便能够以只读方式挂载/usr
。曾经进入系统操作期间写入的/usr
的所有内容(与安装和软件维护相对)必须位于/var
。
答案 1 :(得分:3)
/home/svn
在这里,主要是因为我认为在某些时候我可能需要svn
用户......
答案 2 :(得分:2)
基于新的FHS,您应该将“此系统提供的服务数据”放入/ srv目录中。 FHS中没有任何其他指导,除了将所有服务数据放在该目录中,例如http等。我建议/ srv / svn /.
答案 3 :(得分:2)
就存储库的路径而言,我喜欢在其上分区并挂载一个名为repository的目录;)
/存储库
这样我可以使用“df”
轻松检查尺寸是否可以隐藏绝对值 来自用户的路径?
要回答这个问题,是的,但前提是他们没有对该框的完全访问权限。您使用帐户设置它们,让它们生成公钥/私钥以便登录,但您永远不会给他们密码。
然后你将他们的密钥输入/home/<_user>/.ssh/authorized_keys并编辑设置,以便使用所述密钥启动svn-serve。
command="/usr/local/bin/svnserve -t -r /repository/"
现在在存储库中创建一个项目:
svnadmin create /repository/proj1
使用SVN,您必须授予用户对项目目录的读/写访问权限。然后他们可以查看代码:
svn co svn+ssh://host/proj1
用户永远不会看到或知道存储库的绝对路径。
答案 4 :(得分:1)
绝对应该是/ var。我把我保存在/ var / lib / svn中。 / opt对于保留您可能不一定需要的应用程序非常有用,例如:Firefox或MySql。存储库不是应用程序,因此将其保留在/ opt中没有意义。
与上面的评论一样,您可以参考FHS