注册 AlmaLinux 客户端

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

  • AlmaLinux repository URLs are available from SUSE Customer Center.

  • 软件包和元数据由 AlmaLinux OS Foundation 而不是 SUSE 提供。

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

传统客户端不适用于 AlmaLinux。仅当 AlmaLinux 客户端为 Salt 客户端时才受支持。

如果 AlmaLinux 实例是在 AWS 中创建的,则 /etc/machine-id 中的 machine-id ID 一律相同。请务必在创建实例后重新生成 machine-id。有关详细信息,请参见 对注册克隆的客户端时出现的问题进行查错

1. 添加软件通道

我们已使用针对性策略并采用默认的 enforcing SELinux 配置对将 AlmaLinux 客户端注册到 SUSE Manager 的过程进行了测试。将 AlmaLinux 客户端注册到 SUSE Manager 时,您无需禁用 SELinux。

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

目前支持的系统结构有 x86_64aarch64,在版本 9 上,另外还支持 ppc64le 和 s390x。有关支持的产品和体系结构的完整列表,请参见 支持的客户端和功能

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

例如,使用 x86_64 体系结构时,您需要如下产品:

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

AlmaLinux 9

AlmaLinux 9 x86_64

AlmaLinux 8

AlmaLinux 8 x86_64

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

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

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

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

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

AlmaLinux 9

almalinux9-x86_64

AlmaLinux 8

almalinux8-x86_64

过程:在命令提示符处添加软件通道
  1. 在 SUSE Manager 服务器上的命令提示符处,以 root 身份使用 mgr-sync 命令添加相应的通道:

    mgr-sync add channel <channel_label_1>
    mgr-sync add channel <channel_label_2>
    mgr-sync add channel <channel_label_n>
  2. 系统会自动启动同步。如果您要手动同步通道,请使用以下命令:

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

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

您可能会发现 AppStream 通道中提供的软件包数量在上游通道和 SUSE Manager 通道之间存在一定的差异。如果您对在不同时间添加的同一通道进行比较,会发现其数量也不相同。这是由 AlmaLinux 管理其储存库的方式所致。当有新版本发布时,AlmaLinux 会去除软件包的较旧版本,而 SUSE Manager 则会保留所有版本,无论新旧与否。

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

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

2. 检查同步状态

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

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

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

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

3. 创建激活密钥

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

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

4. 在客户端上信任 GPG 密钥

操作系统要么直接信任自己的 GPG 密钥,要么至少将它们与最小系统一起安装,但通过其他 GPG 密钥签名的第三方软件包需要手动处理。客户端可以在不信任 GPG 密钥的情况下成功引导,但除非密钥受信任,否则您将无法安装新的客户端工具软件包或更新软件包。

Salt 客户端现在使用为软件通道输入的 GPG 密钥信息来管理受信任密钥。如果将具有 GPG 密钥信息的软件通道指派给客户端,当通道刷新后或从此通道安装第一个软件包后,系统会立即信任该密钥。

软件通道页面中的 GPG 密钥 URL 参数可以包含以空格分隔的多个密钥 URL。如果其为文件 URL,则必须在使用软件通道之前在客户端上部署 GPG 密钥文件。

Red Hat 客户端的客户端工具通道的 GPG 密钥会部署到客户端的 /etc/pki/rpm-gpg/ 中,并可通过文件 URL 引用。具有扩展支持的客户端的 GPG 密钥同样部署到该路径。仅当为客户端指派了软件通道时,系统才会导入并信任这些密钥。

由于基于 Debian 的系统仅会对元数据签名,因此不需要为各个通道指定确切的密钥。如果用户按 为储存库元数据签名 中的“使用自己的 GPG 密钥”所述配置了自己的 GPG 密钥来对元数据签名,系统会自动部署并信任该密钥。

4.1. 用户定义的 GPG 密钥

用户可以自行定义要部署到客户端的 GPG 密钥。

通过提供某些 pillar 数据并在 Salt 文件系统中提供 GPG 密钥文件,系统会自动将它们部署到客户端。

这些密钥会分别部署到 /etc/pki/rpm-gpg/(在基于 RPM 的操作系统上)和 /usr/share/keyrings/(在 Debian 系统上)中:

为您要将密钥部署到的客户端定义 pillar 键 custom_gpgkeys 并列出密钥文件名。

cat /srv/pillar/mypillar.sls
custom_gpgkeys:
  - my_first_gpg.key
  - my_second_gpgkey.gpg

此外,在 Salt 文件系统中创建名为 gpg 的目录,并将 custom_gpgkeys pillar 数据中所指定的 GPG 密钥文件存储在该目录下。

ls -la /srv/salt/gpg/
/srv/salt/gpg/my_first_gpg.key
/srv/salt/gpg/my_second_gpgkey.gpg

密钥现在会部署到客户端的 /etc/pki/rpm-gpg/my_first_gpg.key/etc/pki/rpm-gpg/my_second_gpgkey.gpg 中。

最后一步是将 URL 添加到软件通道的“GPG 密钥 URL”字段中。请导航到软件  管理  通道,然后选择要修改的通道。将值 file:///etc/pki/rpm-gpg/my_first_gpg.key 添加到 GPG 密钥 URL中。

4.2. 引导脚本中的 GPG 密钥

过程:在客户端上使用引导脚本信任 GPG 密钥
  1. 在 SUSE Manager 服务器上的命令提示符处,检查 /srv/www/htdocs/pub/ 目录的内容。此目录包含所有可用的公共密钥。记下为您正在注册的客户端指派的通道适用的密钥。

  2. 打开相关的引导脚本,找到 ORG_GPG_KEY= 参数并添加所需的密钥。例如:

    uyuni-gpg-pubkey-0d20833e.key

    您无需删除任何以前存储的密钥。

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

5. 管理 GPG 密钥

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

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

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

6. 注册客户端

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

mgr-create-bootstrap-repo

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

7. 管理勘误

当您更新 AlmaLinux 客户端时,软件包会包含有关更新的元数据。