注册 Raspberry Pi OS 客户端

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

可以通过启动 Raspberry Pi OS 客户端来执行初始状态的运行以及控制文件的更新。

  • Raspberry Pi OS 储存库 URL 可从 SUSE Customer Center 获取。

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

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

1. 准备注册

在将 Raspberry Pi OS 客户端注册到 SUSE Multi-Linux Manager 服务器之前,您需要完成一些准备工作:

  • 确保 DNS 配置正确,并为客户端提供条目。 或者,您可以在 /etc/hosts 服务器和客户端上配置 SUSE Multi-Linux Manager 文件,添加适当的条目。

  • 注册前,客户端的日期和时间必须已与 SUSE Multi-Linux Manager 服务器同步。

2. 添加软件通道

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

目前支持的体系结构有 arm64。

例如,使用 arm64 体系结构时,您需要:

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

Raspberry Pi OS 12

Raspberry Pi OS 12(技术预览)

Raspberry Pi OS 13

Raspberry Pi OS 13(技术预览)

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

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

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

或者,您也可以在命令提示符处添加通道。

此过程所需的通道包括:

Table 2. Raspberry Pi OS 通道 - CLI
操作系统版本 基础通道

Raspberry Pi OS 12

raspberrypios-12-pool-arm64

Raspberry Pi OS 13

raspberrypios-13-pool-arm64

过程:升级在命令提示符下添加软件通道
  1. 使用 spacewalk-common-channels 命令您可以添加相应的频道。 在 SUSE Multi-Linux Manager 容器主机的命令提示符下,以 root 身份执行以下命令:

    mgrctl exec -ti -- spacewalk-common-channels \
    <base_channel_label> \
    <child_channel_label_1> \
    <child_channel_label_2> \
    ... <child_channel_label_n>

    要列出所有可用储存库,请执行以下命令:

    mgrctl exec -- spacewalk-common-channels -l
  2. 如果 自动同步 被关闭,请同步通道:

    mgrctl exec -ti -- spacewalk-repo-sync -p <base_channel_label>
  3. 确保同步已完成,然后再继续操作。

spacewalk-common-channels 提供的客户端工具频道源自 Uyuni,而非 SUSE。

在启动任何 Raspberry Pi OS 客户端之前,您需要完全同步所有新通道。

3. 检查同步状态

过程:升级通过 检查同步进度 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. 每个子通道在同步过程中都会生成自己的日志。 您需要检查所有基础通道和子通道日志文件,以确保同步已完成。

Raspberry Pi OS 通道可能非常大。 同步有时可能需要几个小时。

4. 创建激活密钥

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

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

5. 管理 GPG 密钥

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

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

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

Raspberry Pi OS 客户端可能需要安装多个 GPG 密钥。

在同步第三方 Raspberry Pi OS 储存库时,您需要在服务器上导入适当的 GPG 密钥。 如果缺少 GPG 密钥,同步将失败。

对于 Raspberry Pi OS 储存库,仅元数据被签名。 因此,不需要为软件通道导入 GPG 密钥。 软件包不会被 SUSE Multi-Linux Manager 重新签名。

要查看已导入 SUSE Multi-Linux Manager 服务器的 GPG 密钥,请运行以下命令:

mgrctl exec -- gpg --homedir /var/lib/spacewalk/gpgdir --list-keys

要导入新的 GPG 密钥,请运行以下命令:

mgradm gpg add <filename>.gpg

6. Root 访问权限

默认会为 Raspberry Pi OS 上的 root 用户禁用 SSH 访问权限。

要能够使用普通用户进行初始配置,您需要编辑 sudoers 文件。

过程:升级授予 Root 用户访问权限
  1. 在客户端上,编辑 sudoers 文件:

    sudo visudo

    通过在 sudoers 文件末尾添加此行,授予用户 sudo 访问权限。 将 <user> 替换为在 Web UI 中启动客户端的用户名称:

    <user>  ALL=NOPASSWD: /usr/bin/python, /usr/bin/python2, /usr/bin/python3, /var/tmp/venv-salt-minion/bin/python

此过程授予 root 访问权限,无需密码,这对于注册客户端是必需的。 当客户端成功安装后,它以 root 权限运行,因此不再需要访问权限。 我们建议在客户端成功安装后,从 sudoers 文件中去除该行。

7. 注册客户端

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

mgrctl exec -ti mgr-create-bootstrap-repo

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