共计 2546 个字符,预计需要花费 7 分钟才能阅读完成。
在日常工作中 subversion—SVN 是一个极为常见且比较重要的一个软件,它可以实现文件的版本控制使得多人可以共同协作的一个工具,在 Linux 的系统中一般情款下都会有集成安装,当然有的时候没有装也可以通过配置好的 yum 源来快速安装部署,在此就简单的说一下。
[root@localhost ~]
# yum -y install subversion
[root@localhost ~]
# svnserve --version
这样 subversion 就安装完了,并且在查看版本时我们得知 subversion 版本和 2 种存储模式,分别是:fs_base 和 fs_fs,在这 2 中模式中各有优缺点,在官方给出的说明中有一个表格,如下:
特性 | Berkeley DB | FSFS |
---|---|---|
对操作中断的敏感 | 很敏感;系统崩溃或者权限问题会导致数据库“塞住”,需要定期进行恢复。 | 不敏感 |
可只读加载 | 不能 | 可以 |
存储平台无关 | 不能 | 可以 |
可从网络文件系统访问 | 不能 | 可以 |
版本库大小 | 稍大 | 稍小 |
扩展性:修订版本树数量 | 无限制 | 某些本地文件系统在处理单一目录包含上千个条目时会出现问题。 |
扩展性:文件较多的目录 | 较慢 | 较慢 |
检出最新代码的速度 | 较快 | 可以 |
大量提交的速度 | 较慢,但时间被分配在整个提交操作中 | 较快,但最后较长的延时可能会导致客户端操作超时 |
组访问权处理 | 对于用户的 umask 设置十分敏感,最好只由一个用户访问。 | 对 umask 设置不敏感 |
功能成熟时间 | 2001 年 | 2004 年 |
在安装好后,此时就需要新建一个文件夹用于存放 SVN 的版本数据,然后指定创建 SVN 的版本库及使用的存储模式,当然如果没有指定默认都是使用 fs_fs 模式
[root@localhost ~]
# mkdir /data/svndata/
[root@localhost ~]
# svnadmin create /data/svndata/
# 或者 svnadmin create --fs-type fsfs /data/svndata/,如果要使用 fs_base,就 svnadmin create --fs-type bdb /data/svndata/
在创建完成后就会在 /data/svndata 文件夹中生成相应的库及配置文件、文件夹,其中 conf 文件夹中有 3 个文件 authz、passwd、svnserve.conf,其中 authz 目录权限控制文件,passwd 是明文用户密码配置文件,svnserve.conf 是 SVN 的设置配置文件。
在 svnserve.conf 配置文件中先要把以下几行的注释去掉,编辑修改
anon-access=none
# 匿名访问的权限,可以是 read,write,none, 默认为 read
auth-access=write
# 使授权用户有写权限
password-db=
passwd
# 密码数据库的路径
authz-db=authz
# 访问控制文件
realm=
/data/svndata/
# 认证命名空间,subversion 会在认证提示里显示,并且作为凭证缓存的关键字
启动就用 svnserve 中使用 - d 参数用 demon 启动,- r 参数指定路径的启动就好,参数如下:
[root@localhost ~]
# svnserve -d -r /data/svndata/
SVN 默认监听端口是 tcp 的 3690 端口,在开启后要注意开启防火墙。如果是在 svnserve.conf 配置文件中有开启,当然如果没有使用 sasl 的话密码都是明文在 passwd 文件中的,如果是启用就可以根据实际把配置文件放在 sql 数据库中或者是其它加密文件中,当然在此就不做过多的说明,就以明文密码为例,其中 authz 的配置如下:
[
groups
]
harry_and_sally = harry,sally
#harry_and_sally 组
[
/foo
]
harry = rw
#harry 在版本库的 /foo 整个目录下可读可写
* = r
#/foo 目录下整个都有用户可读
[
/boo
]
sally = r
#sally 在 /boo 目录下整个可读
[
/coo
]
@harry_and_sally = rw
#harry_and_sally 用户组在 /coo 目录下整个可读可写
这些配置文件在改好保存后立即生效,不需要重启 SVN,平时访问 svn 时可以安装好 SVN 的客户端工具后 URL 用 SVN://IP 或域名来访问。
Ubuntu 14.04 下搭建 SVN 服务器 SVN:// http://www.linuxidc.com/Linux/2015-01/111956.htm
CentOS 7 下安装 iF.svnadmin 实现 Web 方式管理 SVN(源码安装)http://www.linuxidc.com/Linux/2016-08/134214.htm
CentOS7.2 编译安装 SVN1.9.5 客户端 http://www.linuxidc.com/Linux/2017-03/141387.htm
SVN 服务器搭建步骤及使用实战 http://www.linuxidc.com/Linux/2017-01/139282.htm
Windows 下 SVN 服务器搭建和使用 + 客户端重新设置密码 http://www.linuxidc.com/Linux/2013-05/85189p5.htm
CentOS 6.6 搭建 SVN 服务器 http://www.linuxidc.com/Linux/2016-12/137864.htm
CentOS 7.2 下 Nginx+MySQL+PHP-FPM+SVN 配置 Walle 自动化部署系统详解 http://www.linuxidc.com/Linux/2016-11/137703.htm
CentOS 7.1 下 SVN 安装与配置 http://www.linuxidc.com/Linux/2016-12/138637.htm
CentOS 下 SVN 仓库部署 http://www.linuxidc.com/Linux/2017-03/142183.htm
Subversion (SVN) 的详细介绍 :请点这里
Subversion (SVN) 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-07/145358.htm