注册 CentOS 客户端

本节包含有关注册运行 CentOS 操作系统的客户端的信息。

  • CentOS 储存库 URL 可从 SUSE Customer Center 获取。

  • 软件包和元数据由 CentOS 提供,而不是 SUSE。

  • 有关支持的产品,请参见 支持的 CentOS 功能 的版本说明和支持表。

CentOS 客户端基于 CentOS,与 SUSE Linux Enterprise Server with Expanded Support、RES、Red Hat 或 Expanded Support 无关。

您需负责安排对 CentOS 基础媒体储存库和 CentOS 安装媒体的访问权限,以及将 SUSE Multi-Linux Manager 服务器连接到 CentOS 内容分发网络。

将 CentOS 客户端注册到 SUSE Multi-Linux Manager 的测试是在 enforcing 的默认 SELinux 配置下进行的,使用 targeted 策略。 您无需禁用 SELinux 即可将 CentOS 客户端注册到 SUSE Multi-Linux Manager。

1. 添加软件通道

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

目前支持的架构有:x86_64aarch64。 有关支持的产品和架构的完整列表,请参见 支持的客户端和功能

在以下部分中,描述通常默认为 x86_64 架构。 如果适用,请将其替换为其他架构。

例如,使用 x86_64 架构时,您需要如下产品:

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

CentOS 7

CentOS 7 x86_64

过程:升级添加软件源
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 管理员  设置向导  产品

  2. 使用搜索栏找到适用于您的客户端操作系统和体系结构的产品,并选中相应产品。 这将自动检查所有必需的软件源。 只要打开`include recommended`切换开关,所有推荐的频道都会被选中。 单击箭头以查看相关产品的完整列表,并确保您所需的任何额外产品都已选中。

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

或者,您也可以在命令提示符处添加通道。 此过程所需的通道包括:

Table 2. CentOS 通道 - CLI
操作系统版本 基础通道

CentOS 7

centos7-x86_64

过程:升级在命令提示符处添加软件通道
  1. 在 SUSE Multi-Linux Manager 容器主机的命令提示符处,以 root 身份添加相应的通道:

    mgrctl exec -- mgr-sync add channel <channel_label_1>
    mgrctl exec -- mgr-sync add channel <channel_label_2>
    mgrctl exec -- mgr-sync add channel <channel_label_n>
  2. 同步会自动开始。 如果您想手动同步通道,请使用:

    mgrctl exec -- mgr-sync sync --with-children <channel_name>
  3. 确保同步已完成,然后再继续操作。

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

您可能会注意到上游和 SUSE Multi-Linux Manager 通道之间的应用流通道中可用软件包数量存在差异。 如果您在不同时间点比较同一通道,您也可能会看到不同的数字。 这是由于 CentOS 管理其储存库的方式。CentOS 在发布新版本时会删除旧版本的软件包,而 SUSE Multi-Linux Manager 则会保留所有版本,无论其年龄。

2. 检查同步状态

过程:升级通过 检查同步进度 Web UI
  1. 在 SUSE Multi-Linux Manager Web UI 中,导航到 管理员  设置向导 并选择 Products 选项卡。 产品同步时,此对话框将为每个产品显示一个完成栏。

  2. 或者,您可以导航到 软件  管理  频道,然后单击与该储存库关联的频道。 导航至`Repositories`选项卡,然后点击`Sync`并勾选`Sync Status`。

过程:升级通过命令提示符检查同步进度
  1. 要在跟踪日志前列出可用日志,请在容器主机上运行以下命令:

    mgrctl exec ls /var/log/rhn/reposync/
  2. 在 SUSE Multi-Linux Manager 容器主机的命令提示符处,以 root 用户身份检查通道日志文件的同步情况:

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

3. 创建激活密钥

您需要创建与您的 CentOS 通道关联的激活密钥。

有关激活密钥的更多信息,请参见 激活密钥

4. 管理 GPG 密钥

客户端使用 GPG 密钥在安装软件包之前检查其真实性。 只有受信任的软件包才能在客户端上安装。

信任 GPG 密钥对客户端的安全性至关重要。 决定需要哪些密钥并可以信任哪些密钥是管理员的任务。 由于在 GPG 密钥未被信任时无法使用软件通道,因此是否将通道分配给客户端取决于是否信任该密钥。

有关 GPG 密钥的更多信息,请参见 GPG 密钥

5. 注册客户端

CentOS 7 将无法接入,原因是 /etc/yum.repos.d/CentOS-Base.repo 中启用了 URL,导致 yum 尝试通过 fastmirror 查找仓库。 这将导致启动失败,并出现如下错误消息:

Could not resolve host: mirrorlist.centos.org; Unknown error

要解决此问题,您可以通过以下命令去除 CentOS-Base.repo 文件:

rm -f /etc/yum.repos.d/CentOS-Base.repo

或者,如果需要保留该文件,则可在每个 URL 部分添加 enabled=0

无论选择哪种方式,之后都需重新执行引导流程。

要注册您的客户端,您需要一个引导储存库。 默认情况下,引导储存库会自动创建,并为所有同步的产品每天重新生成。 您可以从容器主机的命令提示符手动创建引导储存库:

mgrctl exec -ti mgr-create-bootstrap-repo

有关注册您的客户端的更多信息,请参见客户端注册