《工具箱-SVN》SVN安装、备份、迁移教程

文章目录

一、服务器搭建SVN

1.检查SVN是否存在

sh 复制代码
[root@hadoop_zxy ~]# svn -version
-bash: svn: command not found

2.安装SVN

sh 复制代码
[root@hadoop_zxy ~]# yum install subversion
Loaded plugins: fastestmirror, langpacks
Installed:
  subversion.x86_64 0:1.7.14-16.el7

Dependency Installed:
  gnutls.x86_64 0:3.3.29-9.el7_6        neon.x86_64 0:0.30.0-4.el7                    nettle.x86_64 0:2.7.1-9.el7_9
  pakchois.x86_64 0:0.4-10.el7          subversion-libs.x86_64 0:1.7.14-16.el7        trousers.x86_64 0:0.3.14-2.el7

Complete!

3.创建版本库

sh 复制代码
[root@hadoop_zxy apps]# mkdir /zxy/apps/svn
[root@hadoop_zxy apps]# ls
elasticsearch-6.5.3  jdk1.8.0_311  kafka_2.11-1.1.1  kibana-6.5.3  scala-2.11.8  svn  zookeeper-3.6.3
[root@hadoop_zxy apps]# cd svn

4.创建版本库存放文件地址

sh 复制代码
[root@hadoop_zxy svn]# svnadmin create /zxy/apps/svn/repositories

5.修改配置文件

5.1 vim authz

新增以下部分:

/

用户名= rw

/\] 表示控制的路径是全部,用户名自定义, rw 表示的权限 可读写 ```sh [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r # [/] 用户名 = rw ~ ``` #### 5.2 vim passwd > 新增以下部分: > > 用户名 = 密码 用户名和密码处自定义 ```sh [users] # harry = harryssecret # sally = sallyssecret # 用户名 = 密码 ~ ``` #### 5.3 vim svnserve.conf > 释放并修改以下部分 > > anon-access = none > > auth-access = write > > password-db = passwd > > authz-db = authz > > realm = repositories ```sh ### This file controls the configuration of the svnserve daemon, if you ### use it to allow access to this repository. (If you only allow ### access through http: and/or file: URLs, then this file is ### irrelevant.) ### Visit http://subversion.apache.org/ for more information. [general] ### The anon-access and auth-access options control access to the ### repository for unauthenticated (a.k.a. anonymous) users and ### authenticated users, respectively. ### Valid values are "write", "read", and "none". ### Setting the value to "none" prohibits both reading and writing; ### "read" allows read-only access, and "write" allows complete ### read/write access to the repository. ### The sample settings below are the defaults and specify that anonymous ### users have read-only access to the repository, while authenticated ### users have read and write access to the repository. anon-access = none auth-access = write ### The password-db option controls the location of the password ### database file. Unless you specify a path starting with a /, ### the file's location is relative to the directory containing ### this configuration file. ### If SASL is enabled (see below), this file will NOT be used. ### Uncomment the line below to use the default password file. password-db = passwd ### The authz-db option controls the location of the authorization ### rules for path-based access control. Unless you specify a path ### starting with a /, the file's location is relative to the the ### directory containing this file. If you don't specify an ### authz-db, no path-based access control is done. ### Uncomment the line below to use the default authorization file. authz-db = authz ### This option specifies the authentication realm of the repository. ### If two repositories have the same authentication realm, they should ### have the same password database, and vice versa. The default realm ### is repository's uuid. realm = repositories ### The force-username-case option causes svnserve to case-normalize ### usernames before comparing them against the authorization rules in the ### authz-db file configured above. Valid values are "upper" (to upper- ### case the usernames), "lower" (to lowercase the usernames), and ### "none" (to compare usernames as-is without case conversion, which ### is the default behavior). # force-username-case = none [sasl] ### This option specifies whether you want to use the Cyrus SASL ### library for authentication. Default is false. ### This section will be ignored if svnserve is not built with Cyrus ### SASL support; to check, run 'svnserve --version' and look for a line ### reading 'Cyrus SASL authentication is available.' # use-sasl = true ### These options specify the desired strength of the security layer ### that you want SASL to provide. 0 means no encryption, 1 means ### integrity-checking only, values larger than 1 are correlated ### to the effective key length for encryption (e.g. 128 means 128-bit ### encryption). The values below are the defaults. # min-encryption = 0 # max-encryption = 256 ``` ### 6.启动并查看SVN ```sh [root@hadoop_zxy conf]# svnserve -d -r /zxy/apps/svn/ [root@hadoop_zxy conf]# netstat -apn | grep 3690 tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN 7757/svnserve ``` ### 7.SVN Checkout > 用于初次下载项目 ![在这里插入图片描述](https://file.jishuzhan.net/article/1738753856130519042/399f077cc7456d4fa7ea20e2fca65046.webp) ### 8.SVN Update > 用于更新项目内容 ![在这里插入图片描述](https://file.jishuzhan.net/article/1738753856130519042/9de23fb3666f47216c561643d11be2fc.webp) ### 9.SVN Commit > 用于提交项目更改内容 ![在这里插入图片描述](https://file.jishuzhan.net/article/1738753856130519042/9329d454939b1236cdb33e936629aac2.webp) ## 二、SVN-无法连接主机,目标计算机积极拒绝,无法连接 ![在这里插入图片描述](https://file.jishuzhan.net/article/1738753856130519042/2260042346b1bef3a2aa80ea0a9da2e8.webp) ### 1.检查SVN进程 > 发现SVN进程已经关闭,想起来前几天重启了一下服务器,SVN服务器没有设置开机自启 ```sh [root@hadoop_zxy ~]# ps -ef | grep svn root 3652 2079 0 11:31 pts/0 00:00:00 grep --color=auto svn ``` ### 2.手动启动SVN ```sh [root@hadoop_zxy ~]# svnserve -d -r/zxy/apps/svn [root@hadoop_zxy ~]# ps -ef | grep svn root 4690 1 0 11:33 ? 00:00:00 svnserve -d -r/zxy/apps/svn root 4707 2079 0 11:33 pts/0 00:00:00 grep --color=auto svn [root@hadoop_zxy ~]# ``` ### 3.重新尝试使用SVN ![在这里插入图片描述](https://file.jishuzhan.net/article/1738753856130519042/1d70f551066392d520eb522f60dfeca2.webp) > 注意:大家在重启服务器后,一定要记得查看SVN的进程 ## 三、SVN备份、迁移 SVN需要`备份`,或者`SVN服务器迁移`,可以使用svnadmin的dump和load命令进行操作。 ### 1.将源SVN版本库文件备份 ```sh svnadmin dump /zxy/apps/svn/old > dataproject ``` ### 2.将备份文件发送到新的服务器 ```sh scp /zxy/apps/svn/dataproject root@ip:/zxy/apps/svn ``` ### 3.在目标服务器的SVN中创建版本库存放文件地址 新创建的版本库文件地址,需要修改相关的配置文件,参考第一章即可 ```sh svnadmin create /zxy/apps/svn/new svnadmin load /zxy/apps/svn/new < ./dataproject ```

相关推荐
siqiangming17 小时前
将SVN项目迁移到Git,保留提交记录
git·svn
小趴菜不能喝2 天前
Linux 搭建SVN服务
linux·运维·svn
在下小孙3 天前
Git与SVN常用指令
git·svn
Albert Edison8 天前
【Git】多人协作二(不同分支下)
git·elasticsearch·svn·github
秃秃秃秃哇8 天前
svn学习记录
svn
相偎9 天前
Ubuntu搭建svn服务器
服务器·ubuntu·svn
虫小宝9 天前
个微iPad协议场景下Java后端的协议解析异常排查与问题定位技巧
java·svn·ipad
Albert Edison10 天前
【Git】多人协作一(同一分支下)
git·vscode·svn·github
chen<>11 天前
Git原理与应用
大数据·git·elasticsearch·svn
Albert Edison15 天前
【Git】远程操作
git·svn·github