使用 CDN 注册 Red Hat Enterprise Linux 客户端

如果您是直接运行 Red Hat Enterprise Linux 客户端而不是使用 SUSE Linux Enterprise Server with Expanded Support 来运行,则需要使用 Red Hat 来源检索并更新软件包。本节包含有关使用 Red Hat 内容分发网络 (CDN) 注册运行 Red Hat Enterprise Linux 操作系统的传统客户端和 Salt 客户端的信息。

传统客户端仅适用于 Red Hat Enterprise Linux 6 和 7。当 Red Hat Enterprise Linux 8 和 Red Hat Enterprise Linux 9 客户端为 Salt 客户端时才受支持。

而有关使用 Red Hat 更新基础结构 (RHUI) 的信息,请参见 使用 RHUI 注册 Red Hat Enterprise Linux 客户端

Red Hat Enterprise Linux 客户端基于 Red Hat,与 SUSE Linux Enterprise Server with Expanded Support、RES 或 SUSE Linux Enterprise Server 不相关。您需负责安排对 Red Hat 基础媒体储存库和 RHEL 安装媒体的访问权限,以及将 SUSE Manager 服务器连接到 Red Hat 内容分发网络。对于您的所有 RHEL 系统,您均须从 Red Hat 获取支持。如果不这么做,可能会违反与 Red Hat 的条款。

1. 导入权利和证书

Red Hat 客户端需要 Red Hat 证书颁发机构 (CA) 和权利证书以及权利密钥。

权利证书内嵌失效日期,与支持订阅的期限匹配。为避免服务中断,您需要在每个支持订阅期结束时重复此过程。

Red Hat 提供了一个订阅管理器工具,可用于管理订阅指派。此工具在本地运行,可跟踪安装的产品和订阅。客户端必须在订阅管理器中注册才能获得证书。

Red Hat 客户端使用 URL 来复制储存库。URL 更改取决于 Red Hat 客户端是在何处注册的。

Red Hat 客户端可通过三种方式注册:

  • redhat.com 上的 Red Hat 内容分发网络 (CDN)

  • Red Hat 从属服务器

  • 云中的 Red Hat 更新基础结构 (RHUI)

本指南将介绍注册到 Red Hat CDN 的客户端。您至少须有一个注册到 CDN 的系统并拥有授权订阅,以获得储存库内容。

而有关使用 Red Hat 更新基础结构 (RHUI) 的信息,请参见 使用 RHUI 注册 Red Hat Enterprise Linux 客户端

要为客户端系统使用从属证书,必须有从属服务器和订阅。SUSE Manager 服务器不支持使用从属证书的客户端。

权利证书内嵌失效日期,与支持订阅的期限匹配。为避免服务中断,您需要在每个支持订阅期结束时重复此过程。

Red Hat 提供了订阅管理器工具,可用于管理订阅指派。此工具在客户端系统本地运行,可跟踪安装的产品和订阅。使用订阅管理器注册到 redhat.com,然后执行下列过程获得证书。

过程:将客户端注册到订阅管理器
  1. 在客户端系统上的命令提示符处注册订阅管理器工具:

    subscription-manager register

    出现提示时,输入您的 Red Hat 门户用户名和口令。

  2. 运行命令:

    subscription-manager activate
  3. 将客户端系统中的权利证书和密钥复制到 SUSE Manager 服务器可访问的位置:

    cp/etc/pki/entitlement/ /<example>/entitlement/

    您的权利证书和密钥的文件扩展名均为 .pem。密钥的文件名中还包含 key

  4. 将客户端系统中的 Red Hat CA 证书文件复制到权利证书和密钥所在的相同网络位置:

    cp /etc/rhsm/ca/redhat-uep.pem /<example>/entitlement

要管理 Red Hat 客户端上的储存库,您需要将 CA 和权利证书导入 SUSE Manager 服务器。这需要您执行三次导入过程以创建相应的三项: 三项分别对应权利证书、权利密钥和 Red Hat 证书。

过程:将证书导入服务器
  1. 在 SUSE Manager 服务器 Web UI 上,导航到系统  自动安装  GPG 和 SSL 密钥

  2. 单击 创建存储的密钥/证书,并为权利证书设置下列参数:

    • 说明字段中键入 Entitlement-Cert-date

    • 类型字段中,选择 SSL

    • 选择要上载的文件字段中,浏览到您保存权利证书的位置,然后选择 .pem 证书文件。

  3. 单击 创建密钥

  4. 单击 创建存储的密钥/证书,并为权利密钥设置下列参数:

    • 说明字段中键入 Entitlement-key-date

    • 类型字段中,选择 SSL

    • 选择要上载的文件字段中,浏览到您保存权利密钥的位置,然后选择 .pem 密钥文件。

  5. 单击 创建密钥

  6. 单击 创建存储的密钥/证书,并为 Red Hat 证书设置下列参数:

    • 说明字段中键入 redhat-uep

    • 类型字段中,选择 SSL

    • 选择要上载的文件字段中,浏览到您保存 Red Hat 证书的位置,然后选择证书文件。

  7. 单击 创建密钥

2. 添加软件通道

将 Red Hat 客户端注册到您的 SUSE Manager 服务器之前,您需要添加所需的软件通道,并同步这些通道。

下面的小节中的说明通常默认使用 x86_64 体系结构。请根据情况将其替换为其他体系结构。

拥有 SUSE Manager 订阅,您便能使用 SUSE Linux Enterprise Server with Expanded Support(也称为 Red Hat 扩展支持或 RES)的工具通道。必须使用客户端工具通道来创建引导储存库。此过程适用于 Salt 客户端和传统客户端。

此过程所需的产品包括:

Table 1. Red Hat 产品 - WebUI
操作系统版本 产品名称

Red Hat 7

RHEL7 Base x86_64

Red Hat 8

RHEL 或 SLES ES 或 CentOS 8 Base

Red Hat 9

RHEL 和 Liberty 9 Base

过程:添加软件通道
  1. 在 SUSE Manager Web UI 中,导航到管理  安装向导  产品

  2. 使用搜索栏找到适用于您的客户端操作系统和体系结构的产品,然后选中相应产品。这样会自动选中所有必需的通道。此外,建议的所有通道也将选中,并且包括建议项开关会打开。单击箭头以查看相关产品的完整列表,确保您需要的所有额外产品都已选中。

  3. 单击 添加产品 并等待产品完成同步。

AppStream 储存库会提供模块化软件包。这会导致 SUSE Manager Web UI 中显示不正确的软件包信息。您无法使用 Web UI 或 API 直接从模块化储存库执行安装或升级等软件包操作。

或者,您可以使用 Salt 状态管理 Salt 客户端上的模块化软件包,或在客户端上使用 dnf 命令。有关 CLM 的详细信息,请参见 内容生命周期管理

3. 准备自定义储存库和通道

要从 Red Hat CDN 镜像软件,您需要在 SUSE Manager 中创建自定义通道和储存库,它们都将通过 URL 链接到 CDN。您必须在 Red Hat 门户中拥有这些产品的权利,此功能才能正常工作。可以使用订阅管理器工具获得要镜像的储存库的 URL:

subscription-manager repos

可以使用这些储存库 URL 来创建自定义储存库。这样您便可只镜像管理客户端所需的内容。

如果您在 Red Hat 门户中拥有正确的权利,就可以只创建 Red Hat 储存库的自定义版本。

此过程所需的细节包括:

Table 2. Red Hat 自定义储存库设置
选项 设置

储存库 URL

Red Hat CDN 提供的内容 URL

包含已签名的元数据?

取消选中所有 Red Hat Enterprise 储存库

SSL CA 证书

redhat-uep

SSL 客户端证书

Entitlement-Cert-date

SSL 客户端密钥

Entitlement-Key-date

过程:创建自定义储存库
  1. 在 SUSE Manager 服务器 Web UI 上,导航到软件  管理  储存库

  2. 单击 创建储存库,然后为储存库设置适当的参数。

  3. 单击 创建储存库

  4. 对需要创建的所有储存库重复以上步骤。

此过程所需的通道包括:

Table 3. Red Hat 自定义通道
操作系统版本 基础产品 基础通道

Red Hat 7

RHEL7 Base x86_64

rhel7-pool-x86_64

Red Hat 8

RHEL 或 SLES ES 或 CentOS 8 Base

rhel8-pool-x86_64

Red Hat 9

RHEL 和 Liberty 9 Base

el9-pool-x86_64

过程:创建自定义通道
  1. 在 SUSE Manager 服务器 Web UI 上,导航到软件  管理  通道

  2. 单击 创建通道,然后为通道设置相应的参数。

  3. 父通道字段中,选择相应的基础通道。

  4. 单击 创建通道

  5. 对需要创建的所有通道重复以上步骤。每个自定义储存库都应该有一个自定义通道。

您可以导航到软件  通道列表  所有,以检查是否已创建所有相应的通道和储存库。

对于 Red Hat 8 客户端,请添加基础通道和 AppStream 通道。您需要来自这两个通道的软件包。如果未添加这两个通道,将会因缺少软件包而无法创建引导储存库。

如果您使用的是模块化通道,则必须在客户端上启用 Python 3.6 模块流。如果不提供 Python 3.6,spacecmd 软件包安装将会失败。

创建所有通道之后,可以将其与您创建的储存库关联:

过程:将通道与储存库关联
  1. 在 SUSE Manager 服务器 Web UI 上,导航到软件  管理  通道,然后单击要关联的通道。

  2. 导航到储存库选项卡,然后选中要与此通道关联的储存库。

  3. 单击 更新储存库 以将通道与储存库相关联。

  4. 对需要关联的所有通道和储存库重复以上步骤。

  5. 可选:导航到同步选项卡,为此储存库设置定期同步日程安排。

  6. 单击 立即同步 以立即开始同步。

4. 检查同步状态

过程:在 Web UI 中检查同步进度
  1. 在 SUSE Manager Web UI 中,导航到管理  安装向导,然后选择产品选项卡。当同步产品时,此对话框会为每个产品显示一个完成栏。

  2. 或者,您可以导航到软件  管理  通道,然后单击与该储存库关联的通道。导航到储存库选项卡,然后单击同步并选中同步状态

过程:在命令提示符处检查同步进度
  1. 在 SUSE Manager 服务器上的命令提示符处,以 root 身份使用 tail 命令检查同步日志文件:

    tail -f /var/log/rhn/reposync/<channel-label>.log
  2. 每个子通道在同步过程中都会生成自己的日志。 您需要检查所有基础通道和子通道日志文件,以确保同步已完成。

Red Hat Enterprise Linux 通道可能会非常大。同步所需的时间可能会长达数小时。

过程:可选:创建 Salt 状态以部署配置文件
  1. 在 SUSE Manager 服务器 Web UI 上,导航到配置  通道

  2. 单击 创建状态通道

    • 名称字段中,键入 subscription-manager: disable yum plugins

    • 标签字段中,键入 subscription-manager-disable-yum-plugins

    • 说明字段中,键入 subscription-manager: disable yum plugins

    • SLS 内容字段留空。

  3. 单击 创建配置通道

  4. 单击 创建配置文件

    • 文件名/路径字段中,键入 /etc/yum/ pluginconf.d/subscription-manager.conf

    • 文件内容字段中,键入:

      [main]
      enabled=0
  5. 单击 创建配置文件

  6. 记下 Salt 文件系统路径字段的值。

  7. 单击配置通道的名称。

  8. 单击查看/编辑 'init.sls' 文件

    • 文件内容字段中,键入:

      configure_subscription-manager-disable-yum-plugins:
        cmd.run:
          - name: subscription-manager config --rhsm.auto_enable_yum_plugins=0
          - watch:
            - file: /etc/yum/pluginconf.d/subscription-manager.conf
        file.managed:
          - name: /etc/yum/pluginconf.d/subscription-manager.conf
          - source: salt:///etc/yum/pluginconf.d/subscription-manager.conf
  9. 单击 更新配置文件

创建 Salt 状态以部署配置文件是可选过程。

过程:为 Red Hat Enterprise Linux 客户端创建系统组
  1. 在 SUSE Manager 服务器 Web UI 上,导航到系统  系统组

  2. 单击 创建组

    • 名称字段中,键入 rhel-systems

    • 说明字段中,键入所有 RHEL 系统

  3. 单击 创建组

  4. 单击状态选项卡。

  5. 单击配置通道选项卡。

  6. 在搜索框中键入 subscription-manager: disable yum plugins

  7. 单击 搜索 以查看状态。

  8. 单击指派列中的状态对应的复选框。

  9. 单击 保存更改

  10. 单击 确认

如果您已将 RHEL 系统添加到 SUSE Manager,请将其指派给新的系统组,然后应用 highstate。

过程:将系统组添加到激活密钥

您需要修改用于 RHEL 系统的激活密钥,以包含之前创建的系统组。

  1. 在 SUSE Manager 服务器 Web UI 上,导航到系统  激活密钥

  2. 单击用于 RHEL 系统的每个激活密钥并:

  3. 依次导航到选项卡和加入子选项卡。

  4. 选中选择 rhel-systems

  5. 单击 加入所选的组

5. 管理 GPG 密钥

安装软件包之前,客户端会使用 GPG 密钥检查这些软件包的真实性。只有可信软件才能安装在客户端上。

信任 GPG 密钥对于客户端的安全非常重要。由管理员来决定需要哪些密钥,可以信任哪些密钥。如果不信任 GPG 密钥,便无法为客户端指派软件通道。

有关 GPG 密钥的详细信息,请参见 GPG 密钥

对于 Red Hat 自定义通道,如果您要选中启用 GPG 检查字段,则需填充 GPG 密钥 URL 字段。您可以使用 Red Hat 受控端 /etc/pki/rpm-gpg 目录下存储的 GPG 密钥的文件 URL。

有关 Red Hat 产品签名密钥的完整列表,请参见 https://access.redhat.com/security/team/key

6. 注册客户端

要注册您的客户端,需要有引导储存库。默认会自动创建引导储存库,并且每天会为所有同步的产品重新生成该储存库。您可以在命令提示符处使用以下命令手动创建引导储存库:

mgr-create-bootstrap-repo

有关注册客户端的详细信息,请参见 客户端注册