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

news2025/2/3 2:51:01

文章目录

  • 一、服务器搭建SVN
    • 1.检查SVN是否存在
    • 2.安装SVN
    • 3.创建版本库
    • 4.创建版本库存放文件地址
    • 5.修改配置文件
      • 5.1 vim authz
      • 5.2 vim passwd
      • 5.3 vim svnserve.conf
    • 6.启动并查看SVN
    • 7.SVN Checkout
    • 8.SVN Update
    • 9.SVN Commit
  • 二、SVN-无法连接主机,目标计算机积极拒绝,无法连接
    • 1.检查SVN进程
    • 2.手动启动SVN
    • 3.重新尝试使用SVN
  • 三、SVN备份、迁移
    • 1.将源SVN版本库文件备份
    • 2.将备份文件发送到新的服务器
    • 3.在目标服务器的SVN中创建版本库存放文件地址

一、服务器搭建SVN

1.检查SVN是否存在

[root@hadoop_zxy ~]# svn -version
-bash: svn: command not found

2.安装SVN

[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.创建版本库

[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.创建版本库存放文件地址

[root@hadoop_zxy svn]# svnadmin create /zxy/apps/svn/repositories

5.修改配置文件

5.1 vim authz

新增以下部分:

[/]

用户名= rw

[/] 表示控制的路径是全部,用户名自定义, rw 表示的权限 可读写


[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

新增以下部分:

用户名 = 密码

用户名和密码处自定义


[users]
# harry = harryssecret
# sally = sallyssecret
#
用户名 = 密码
~

5.3 vim svnserve.conf

释放并修改以下部分

anon-access = none
auth-access = write

password-db = passwd

authz-db = authz
realm = repositories

### 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

[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

用于初次下载项目

在这里插入图片描述

8.SVN Update

用于更新项目内容

在这里插入图片描述

9.SVN Commit

用于提交项目更改内容

在这里插入图片描述

二、SVN-无法连接主机,目标计算机积极拒绝,无法连接

在这里插入图片描述

1.检查SVN进程

发现SVN进程已经关闭,想起来前几天重启了一下服务器,SVN服务器没有设置开机自启


[root@hadoop_zxy ~]# ps -ef | grep svn
root      3652  2079  0 11:31 pts/0    00:00:00 grep --color=auto svn

2.手动启动SVN


[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

在这里插入图片描述

注意:大家在重启服务器后,一定要记得查看SVN的进程

三、SVN备份、迁移

SVN需要备份,或者SVN服务器迁移,可以使用svnadmin的dump和load命令进行操作。

1.将源SVN版本库文件备份

svnadmin dump /zxy/apps/svn/old > dataproject

2.将备份文件发送到新的服务器

scp /zxy/apps/svn/dataproject root@ip:/zxy/apps/svn

3.在目标服务器的SVN中创建版本库存放文件地址

新创建的版本库文件地址,需要修改相关的配置文件,参考第一章即可

svnadmin create /zxy/apps/svn/new
svnadmin load /zxy/apps/svn/new < ./dataproject

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1328884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CiteSpace最新安装教程

目录 一、CiteSpace特点介绍 二、CiteSpace安装教程 1、安装java 2、配置java环境变量 3、安装CiteSpace 4、运行CiteSpace 一、CiteSpace特点介绍 CiteSpace是一种用于分析学术文献的可视化工具&#xff0c;旨在帮助研究人员理解学术领域的演化、发现研究热点和趋势。 …

SpringBoot+Redis的Bloom过滤器

1.保姆级Linux安装Redis ①把redis.tar.gz下载到linux中&#xff0c;并用命令tar -zxvf安装 ②安装完成进入目录输入make进行编译&#xff0c;编译完成后输入make install 进行安装 ③创建两个文件夹mkdir bin mkdir etc 将redis目录下的redis.conf文件移动到etc文件中&…

Web自动化测试工具的优势分析

Web自动化测试工具在现代软件开发中扮演着关键的角色&#xff0c;帮助团队确保Web应用程序的质量和稳定性。然而&#xff0c;选择合适的Web自动化测试工具对项目的成功至关重要。本文将介绍Web自动化测试工具优势是什么! 1. 自动化执行 Web自动化测试工具能够模拟用户的行为&am…

jar混淆,防止反编译,Allatori工具混淆jar包

文章目录 Allatori工具简介下载解压配置config.xml注意事项 Allatori工具简介 官网地址&#xff1a;https://allatori.com/ Allatori不仅混淆了代码&#xff0c;还最大限度地减小了应用程序的大小&#xff0c;提高了速度&#xff0c;同时除了你和你的团队之外&#xff0c;任何人…

[Angular] 笔记 7:模块

Angular 中的模块(modules) 是代码在逻辑上的最大划分&#xff0c;它类似于C, C# 中的名字空间&#xff1a; module 可分为如下几种不同的类型&#xff1a; 使用模块的第一个原因是要对代码进行逻辑上的划分&#xff0c;第二个非常重要的原因是为了实现懒惰加载(lazy loading)&…

linux静态ip配置方法(vmware虚拟机)

1、背景 自己搭建了一个虚拟机&#xff0c;vmware虚拟机&#xff0c;如果使用动态ip,经常变换地址&#xff0c;登录不方便。 优点&#xff1a; 静态网络配置的好处是该服务器地址是静态ip的&#xff0c;不会随着网络更换而出现波动。 2、配置方法 2.1 进入centos系统&#…

Midjourney V6 引爆社交媒体,AI图像与照片的差别消失;LangChain的2023AI发展状况总结

&#x1f989; AI新闻 &#x1f680; Midjourney V6 引爆社交媒体&#xff0c;AI图像与照片的差别消失 摘要&#xff1a;Midjourney V6 第二次社区评价震惊网友&#xff0c;神图细节逼真&#xff0c;光影效果逆天&#xff0c;皮肤质感细腻&#xff0c;已超越昨日版本。V6即将…

Java商城免 费 搭 建:VR全景到SAAS,各种模式一网打尽!

一、技术选型 java开发语言&#xff1a;java是一种跨平台的编程语言&#xff0c;适用于大型企业级应用开发。使用java开发直播商城可以保证系统的稳定性和可扩展性。 spring boot框架&#xff1a;spring boot是一个快速构建spring应用的框架&#xff0c;简化了开发过程&#xf…

新手小白如何做好接口测试!

测试行业中&#xff0c;大多数人接触的都是所谓的功能测试&#xff0c;也就是人为操作设备的输入输出&#xff0c;在这样的一个模式下&#xff0c;实际上有很多的细节的逻辑并无法覆盖到&#xff0c;虽然表面看似没有问题&#xff0c;但经常会发生所谓的不可重现错误、异常错误…

美创「新一代数据安全管理平台」力揽CSA两项殊荣

12月21日&#xff0c;第七届云安全联盟大中华区&#xff08;简称&#xff1a;CSA大中华区&#xff09;大会在深圳隆重召开&#xff0c;本次大会以“云融未来&#xff0c;安全内在”为主题&#xff0c;邀请学者和产业专家们共同探讨云计算在人工智能、数据安全、算力网络等领域的…

opencv入门到精通——图像上的算术运算

目录 目标 图像加法 图像融合 按位运算 目标 学习图像的几种算术运算&#xff0c;例如加法&#xff0c;减法&#xff0c;按位运算等。 您将学习以下功能&#xff1a;cv.add&#xff0c;cv.addWeighted等。 图像加法 您可以通过OpenCV函数cv.add()或仅通过numpy操作res …

C++之深拷贝进阶

目录 拷贝构造函数的深拷贝进阶版本 赋值运算符重载的深拷贝进阶 总结 上期我们学习了C中深拷贝的传统版本&#xff0c;今天我们将学习更为高效的版本。 拷贝构造函数的深拷贝进阶版本 传统版本代码如下&#xff1a; string(string& s):_str(new char[strlen(s._str) …

[Linux] MySQL数据表(数据结构)管理

一、数据库 1.1 数据库的基本概念 数据库&#xff08;database&#xff09;是用来组织、存储和管理数据的仓库 数据库管理系统&#xff08;DBMS&#xff09;&#xff1a;是实现对数据有效组织&#xff0c;管理和存取的系统软件。 数据的建立和维护功能&#xff0c;数据定义…

互联网加竞赛 python图像检索系统设计与实现

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; python图像检索系统设计与实现 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;4分 该项目较为新颖&#xff0c…

『番外篇五』SwiftUI 进阶之如何动态获取任意视图的 tag 和 id 值

概览 在某些场景下,我们需要用代码动态去探查 SwiftUI 视图的信息。比如任意视图的 id 或 tag 值: 如上图所示:我们通过动态探查技术在运行时将 SwiftUI 特定视图的 tag 和 id 值显示在了屏幕上。 这是如何做到的呢? 在本篇博文,您将学到如下内容: 概览1. “如意如意,…

四种常见的代码覆盖率测试

您听说过“代码覆盖率”吗&#xff1f;在这篇文章中&#xff0c;我们将探讨什么是测试中的代码覆盖率&#xff0c;以及四种衡量它的常用方法。 什么是代码覆盖率 代码覆盖率是衡量测试代码测试了源代码百分比多少的指标。它可以帮助您识别可能缺乏适当测试的代码区域。 通常…

【JVM】一、认识JVM

文章目录 1、虚拟机2、Java虚拟机3、JVM的整体结构4、Java代码的执行流程5、JVM的分类6、JVM的生命周期 1、虚拟机 虚拟机&#xff0c;Virtual Machine&#xff0c;一台虚拟的计算机&#xff0c;用来执行虚拟计算机指令。分为&#xff1a; 系统虚拟机&#xff1a;如VMware&am…

Oracle:JDBC链接Oracle的DEMO

1、引入jar包&#xff1a; 2、DEMO&#xff1a; package jdbc;import java.sql.*;public class OracleConnectionExample {public static void main(String[] args) throws SQLException {Connection conn null;PreparedStatement statement null;try {// Register JDBC dri…

FreeRTOS之二值信号量(实践)

信号量相当于一个标志&#xff0c;实现对资源多少的管理。 比如停车场空位的数量。 这里使用的是二值信号量&#xff0c;其队列长度为1&#xff0c;只有空或满两种状态。 1、步骤&#xff1a; 1.1、创建信号量 1.2、释放信号量 1.3、获取信号量 注&#xff1a;若想深入还…

c语言:文件操作(2),认识各种文件操作函数

fgets 作用 fgets是C语言标准库中用于从文件中读取字符串的函数。 fgets函数从指定的文件流stream中读取最多n-1个字符&#xff0c;或者直到遇到换行符&#xff08;包括换行符在内&#xff09;&#xff0c;并将其存储到以str指向的字符数组中。读取的字符串会以null字符\0结…