3 从 SMT 迁移到 RMT #
本章说明如何从 SLES 11 或 12 上的 SMT 迁移到 SLES 15 上的 RMT。
3.1 重要注意事项 #
请仔细阅读本节内容。其中包含有关迁移过程的重要信息。
- 使用新主机
我们建议您在新安装的 SLES 15 主机上安装 RMT。RMT 并不能完全取代 SMT。RMT 具有不同于 SMT 的工作流程,仅支持注册 SUSE Linux Enterprise Server 12 及以上版本的系统。
- 储存库元数据和设置
将不会从 SMT 导出临时储存库的设置。将导出已标记为要镜像的储存库。
- 自定义储存库
只能导出标记为要镜像的储存库。
- 已失效订阅
RMT 上将不会提供组织订阅中已不再可用的产品。
- 客户端信息
将导出系统及其激活的产品。将不会从 SMT 导出 SMT 客户端作业和补丁状态。
功能 |
SMT |
RMT |
---|---|---|
在 SLES 11 上可用 |
是 |
否 |
在 SLES 12 上可用 |
是 |
否 |
在 SLES 15 上可用 |
否 |
是 |
将产品与 SUSE Customer Center 同步 |
是 |
是 |
从储存库镜像 RPM |
是 |
是 |
选择性镜像(指定要镜像的产品) |
是 |
是 |
通过 HTTP 提供 RPM |
是 |
是 |
SLE 15 系统注册 |
是 |
是 |
SLE 12 系统注册 |
是 |
是 |
SLE 11 系统注册 |
是 |
否 |
支持从 SLE 12 迁移到 SLE 15 |
是 1 |
是 |
支持从 SLE 15 SPx 迁移到 15 SPx+1 |
是 1 |
是 |
临时储存库 |
是 |
否2 |
离线镜像 |
是 |
是 |
NTLM 代理支持 |
是 |
是 |
自定义储存库 |
是 |
是 |
YaST 安装向导 |
是 |
是 |
YaST 管理向导 |
是 |
否 |
客户端管理 |
是 |
否 |
对 Red Hat 7 及更低版本的支持 (Expanded Support) |
是 |
否 |
对 Red Hat 8 的支持 (Expanded Support) |
是 |
是 |
文件去重 |
是 |
是 |
将数据从 SMT 转移到 RMT |
无 |
是 |
将注册数据传输到 SUSE Customer Center |
是 |
是 |
报告 |
是 |
否 |
Web 服务器的自定义 TLS 证书 |
是 |
是 |
清理储存库中不再使用的数据 |
是 |
是 |
Bash 补全 |
否 |
是 |
在 openSUSE Leap 15 上提供 |
否 |
是 3 |
可以选择 run as container |
否 |
是 3 |
简易开发设置 + contribution guide |
否 |
是 |
100% 测试 coverage |
否 |
是 |
否 |
是 | |
Web 服务器 |
Apache 2 |
Nginx |
平台 |
Perl |
Ruby |
SMT 仅部分支持将系统迁移到 SLE 15。SLE 15 由多个模块和扩展组成。有些模块只是提供补充性的功能,因此不是必需的。RMT 完全支持迁移到 SLE 15 以及在 SLE 15 内部迁移,因此它只会添加最少量的必需模块。SMT 不完全支持这种迁移,它将在系统上启用所有可用模块。
功能由 SUSE Manager 提供。
仅通过 self-support 提供。
3.2 导出 SMT 数据 #
通过运行
zypper up
更新已安装的 SMT 服务器。要将 SSL 证书连同其余数据一起导出,请运行
smt-data-export
。请记得将证书存放在安全位置。如果您不想从 SMT 导出 SSL 证书,请运行
smt-data-export --no-ssl-export
。导出的配置现已保存到
smt-data-export.TIMESTAMP.tar.gz
。将文件复制到新 RMT 服务器可以访问的位置。
3.3 将 SMT 数据导入到 RMT #
运行
zypper up
以确保所安装的 RMT 为最新版本。将导出的
.tar.gz
文件复制到某个空目录,并将其解压缩。然后进入新目录:>
mkdir EMPTY_DIR
>
cd EMPTY_DIR
>
tar xf /PATH/TO/smt-data-export.TIMESTAMP.tar.gz
>
cd smt-data-export
如果您之前选择从 SMT 导出 SSL 证书,请将 CA 私用密钥和证书复制到
/etc/rmt/ssl/
中:>
sudo
cp ssl/cacert.key /etc/rmt/ssl/rmt-ca.key
>
sudo
cp ssl/cacert.pem /etc/rmt/ssl/rmt-ca.crt
按第 2.5 节 “使用 YaST 配置 RMT”中所述运行 YaST RMT 配置模块。如果您已导入 SMT CA 证书,请将 SMT 服务器的域添加到新 SSL 证书的常用名。
运行 RMT 同步功能以从 SUSE Customer Center 获取产品和储存库数据。
>
sudo
rmt-cli sync
导入来自 SMT 服务器的数据。
>
sudo
rmt-data-import -d ./
可选:如果 RMT 服务器的 URL 发生变化,请在
/etc/SUSEConnect
中更改客户端的 URL 参数,以指向新的 RMT 服务器。或者更改 DNS 记录以重新指派 RMT 服务器的主机名。可选:将 SMT 中的镜像储存库数据转移到 RMT,并调整所复制数据的所有权。
>
sudo
cp -r /var/www/htdocs/repo/* /usr/share/rmt/public/repo/
>
sudo
chown -R _rmt:nginx /usr/share/rmt/public/repo
提示RMT 服务器上自定义储存库数据的存储路径与 SMT 上的存储路径不同。在 RMT 中,源服务器 URL 的目录结构将复制到顶级目录结构中
http://download.opensuse.org/debug/distribution/leap/15.5/repo/oss
此 URL 在 RMT 服务器上的路径对应于
/usr/share/rmt/public/repo/debug/distribution/leap/15.5/repo/oss
SMT 服务器上的自定义储存库默认已禁用。如果您要将其镜像到 RMT,请在镜像之前将其启用。
通过运行以下命令检查有无自定义储存库:
>
sudo
rmt-cli repos custom list
该命令会显示所有自定义储存库的表。第一列包含每个储存库的
ID
,Mirror?
列显示false
。通过运行以下命令启用您要镜像的每个自定义储存库:
>
sudo
rmt-cli repos custom enable ID
通过启动镜像过程更新储存库中的软件包:
>
sudo
rmt-cli mirror