注册 AlmaLinux 客户端
本节包含有关注册运行 AlmaLinux 操作系统的 Salt 客户端的信息。
|
|
传统客户端不适用于 AlmaLinux。仅当 AlmaLinux 客户端为 Salt 客户端时才受支持。 |
|
如果 AlmaLinux 实例是在 AWS 中创建的,则 |
1. 添加软件通道
|
我们已使用 |
将 AlmaLinux 客户端注册到您的 SUSE Manager 服务器之前,您需要添加所需的软件通道,并同步这些通道。
目前支持的系统结构有 x86_64 和 aarch64,在版本 9 上,另外还支持 ppc64le 和 s390x。有关支持的产品和体系结构的完整列表,请参见 支持的客户端和功能。
|
下面的小节中的说明通常默认使用 x86_64 体系结构。请根据情况将其替换为其他体系结构。 |
例如,使用 x86_64 体系结构时,您需要如下产品:
| 操作系统版本 | 产品名称 |
|---|---|
AlmaLinux 9 |
AlmaLinux 9 x86_64 |
AlmaLinux 8 |
AlmaLinux 8 x86_64 |
-
在 SUSE Manager Web UI 中,导航到。
-
使用搜索栏找到适用于您的客户端操作系统和体系结构的产品,然后选中相应产品。这样会自动选中所有必需的通道。此外,建议的所有通道也将选中,并且
包括建议项开关会打开。单击箭头以查看相关产品的完整列表,确保您需要的所有额外产品都已选中。 -
单击 添加产品 并等待产品完成同步。
或者,您也可以在命令提示符处添加通道。此过程所需的通道包括:
| 操作系统版本 | 基础通道 |
|---|---|
AlmaLinux 9 |
almalinux9-x86_64 |
AlmaLinux 8 |
almalinux8-x86_64 |
-
在 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>
-
系统会自动启动同步。如果您要手动同步通道,请使用以下命令:
mgr-sync sync --with-children <channel_name>
-
确保同步已完成,然后再继续操作。
如果您使用的是模块化通道,则必须在 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 客户端上的模块化软件包,或在客户端上使用 |
2. 检查同步状态
-
在 SUSE Manager Web UI 中,导航到,然后选择
产品选项卡。当同步产品时,此对话框会为每个产品显示一个完成栏。 -
或者,您可以导航到,然后单击与该储存库关联的通道。导航到
储存库选项卡,然后单击同步并选中同步状态。
-
在 SUSE Manager 服务器上的命令提示符处,以 root 身份使用
tail命令检查同步日志文件:tail -f /var/log/rhn/reposync/<channel-label>.log
-
每个子通道在同步过程中都会生成自己的日志。 您需要检查所有基础通道和子通道日志文件,以确保同步已完成。
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 密钥
-
在 SUSE Manager 服务器上的命令提示符处,检查
/srv/www/htdocs/pub/目录的内容。此目录包含所有可用的公共密钥。记下为您正在注册的客户端指派的通道适用的密钥。 -
打开相关的引导脚本,找到
ORG_GPG_KEY=参数并添加所需的密钥。例如:uyuni-gpg-pubkey-0d20833e.key
您无需删除任何以前存储的密钥。
|
信任 GPG 密钥对于客户端的安全非常重要。由管理员来决定需要哪些密钥,可以信任哪些密钥。如果不信任 GPG 密钥,便无法为客户端指派软件通道。 |
5. 管理 GPG 密钥
安装软件包之前,客户端会使用 GPG 密钥检查这些软件包的真实性。只有可信软件才能安装在客户端上。
|
信任 GPG 密钥对于客户端的安全非常重要。由管理员来决定需要哪些密钥,可以信任哪些密钥。如果不信任 GPG 密钥,便无法为客户端指派软件通道。 |
有关 GPG 密钥的详细信息,请参见 GPG 密钥。
6. 注册客户端
要注册您的客户端,需要有引导储存库。系统默认会自动创建引导储存库,并且每天会为所有同步的产品重新生成该储存库。您可以在命令提示符处使用以下命令手动创建引导储存库:
mgr-create-bootstrap-repo
有关注册客户端的详细信息,请参见 客户端注册。
7. 管理勘误
当您更新 AlmaLinux 客户端时,软件包会包含有关更新的元数据。