更新

  • 2021/03/06 更新授权人数信息
  • 2020/08/09 初次发布

介绍

原有的 SVN 服务器需要备份到新机器上,需要更新操作系统与软件,防止有漏洞。

环境

旧机器

  • Visual SVN Server 3.7
  • Windows 7

新机器

  • Visual SVN Server 4.2
  • Windows Server 2019

软件选择

在 SVN 官网有所有软件的介绍:

之前的机器上选择的是 Visual SVN,恢复的时候依然继续使用

Community 版本支持商业使用,而且免费。

但是固定只支持 15 人使用,超过人数限制时可以先禁用不活跃的用户。

操作系统

安装

使用开源免费的工具将 iso 烧录到启动 U 盘中

官方网站右上角有菜单可以切换为简体中文显示

安装

网卡

网卡驱动无法安装,参照以下方法安装,文章内有大量图片可供参考,建议查看:

下载驱动

网卡下载页中选择 Windows Server 2019 后只剩下两个驱动可以下载了

在技嘉官网上无法查询到网卡的具体型号

查找网卡型号

但是在同型号主板可以联网的电脑上看到网卡型号,建议使用硬件型号查看软件查看具体型号。

在 Windows 7 系统上查看同型号主板网卡信息如下:

Intel(R) Ethernet Connection (2) I219-V

C:\Windows\system32\DRIVERS\e1d62x64.sys C:\Windows\system32\e1d62x64.din C:\Windows\system32\e1dmsg.dll C:\Windows\system32\NicCo4.dll C:\Windows\system32\NicInstD.dll

替换驱动文件

注意源文件编码是西欧 Windows,不要使用 UTF-8 编码编辑保存。

解压下载的 PROWinx64.exe,然后打开 PRO1000\Winx64\NDIS65\e1c65x64.inf,搜索网卡型号 (2) I219-V,从文件开始搜索网卡型号下方的中括号内文字,会找到文字出现在一个列表中,将其复制到下方的列表中。

文章中对复制的解释并不是十分清楚,这里补充一下: 安装文件中存在两个列表,Windows Server 只会使用下方的列表,而只有上方的列表有当前在用的网卡,因此将上方的网卡信息复制到下面的列表中,就可以让 Windows Server 安装了。

实际安装的时候使用的是 PRO1000\Winx64\NDIS63\e1c63x64.inf,但看起来应该使用 PRO1000\Winx64\NDIS65\e1c65x64.inf,因为表头的字段是 [Intel.NTamd64.10.0],看起来 10.0 是操作系统内部版本号,符合 Windows Server 2019 内部版本号。

手动安装驱动

打开 cmd,执行:

1
2
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING ON
  1. 在设备管理器中找到其他设备,右键以太网控制器(英文版为:Ethernet Controller),更新驱动程序。
  2. 选择“浏览以查找驱动程序”
  3. 选择“让我从计算机的可用驱动程序列表中选取”
  4. 在设备类型中选择“网络适配器”
  5. 选择“从磁盘安装”,然后找到刚才修改的inf文件
1
2
bcdedit -set loadoptions ENABLE_INTEGRITY_CHECKS
bcdedit -set TESTSIGNING OFF

远程桌面

右键点击 计算机 | 属性 | 高级 | 远程 启用时会弹出防火墙,点击打开后返回启用远程连接,在点击防火墙将允许的 IP 改为自己。

如果想要超过2个同时连接的用户数

注意:修改机器名并重启后再做其他操作,保证机器名是可读可用的。

更新

直接在 设置 | 更新 中更新即可,如果速度过慢可以考虑:

Visual SVN

恢复

备份整个 SVN 目录时保存为 tar 文件,恢复时直接解压到目的目录就可以。可以使用 BandiZip 压缩为 tar 文件。

安装

按照默认值安装,除了仓库目录。

Visual SVN Server 是否需要激活?逻辑上来说不需要,因为并不会对使用造成任何影响,只是服务器会显示警告、日志中有警告、服务器无法安装新版本与补丁而已。

What happens when the number of active users exceeds the license size?

If the license size limit is accidentally exceeded, then:\

  • There won’t be any service interruptions for Subversion users. All Subversion users would still be able to perform both read and write operations without any errors or warnings. In other words, nothing is going to happen from the user’s standpoint (on the client side).\
  • There won’t be any service interruptions with respect to the Multisite Repository Replication (VDFS) feature. All distributed repositories will continue to synchronize without any interruptions.\

At the same time, there will be warnings on the VisualSVN Server Manager dashboard and in the VisualSVN Server event logs. The server instance that exceeds the user limit will also be restricted to installing newer versions and patch updates.

验证

使用客户端连接查看历史记录、更新、提交,确定功能一切正常。