注册 Ubuntu 20.04 客户端

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

SUSE Manager 支持使用 Salt 的 Ubuntu 16.04 LTS、18.04 LTS 和 20.04 LTS 客户端。有关注册运行 Ubuntu 16.04 LTS 和 18.04 LTS 的 Salt 客户端的信息,请参见 注册 Ubuntu 16.04 和 18.04 客户端

Canonical 未授权也不支持 SUSE Manager。

Ubuntu 仅在作为 Salt 客户端的情况下受支持, 作为传统客户端时不受支持。

支持使用引导功能启动 Ubuntu 客户端,并执行初始状态运行,例如设置储存库和执行配置文件更新。不过,默认会禁用 Ubuntu 上的 root 用户,因此要使用引导,需要有一个具有 Python sudo 特权的现有用户。

1. 添加软件通道

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

此过程所需的产品包括:

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

Ubuntu 20.04

Ubuntu 20.04

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

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

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

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

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

Ubuntu 20.04

ubuntu-2004-amd64-main-amd64

过程:在命令提示符下添加软件通道
  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. 确保同步已完成,然后再继续操作。

2. 检查同步状态

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

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

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

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

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

3. Root 访问权限

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

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

自行安装版 Ubuntu 会发生此问题。如果在安装期间为默认用户授予了管理权限,则需要使用 sudo 提供口令来进行权限升级。云实例不会出现此问题,因为 cloud-init 会自动在 /etc/sudoers.d 下创建一个文件,并且无需口令即可通过 sudo 进行权限升级。

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

    sudo visudo

    sudoers 文件末尾添加下面一行,以向用户授予 sudo 访问权限。以在 Web UI 中引导客户端的用户的名称替换 <user>

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

此过程无需口令便可授予 root 访问权限,而注册客户端需要提供口令。客户端成功安装后会以 root 特权运行,因此将不再需要该访问权限。客户端成功安装之后,建议您从 sudoers 文件中去除该行。

4. 注册客户端

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

mgr-create-bootstrap-repo

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

5. 查错:安装 spacecmd Ubuntu 20.04 客户端

使用默认配置设置安装 spacecmd 可能会失败,并显示以下错误:

未满足以下软件包的依赖关系:
    spacecmd:依赖项:python3-rpm,但它无法安装

python3-rpm 是 Ubuntu 通用储存库的一部分。要使此软件包可用,请在客户端上启用通用储存库。

过程:启用通用储存库
  1. 在 Ubuntu 20.04 客户端上,打开 /etc/apt/sources.list 文件,并取消注释通用储存库。

  2. 执行 apt-get update 命令。

现在可安装 spacecmd