Ubuntuクライアントの登録

このセクションでは、Ubuntuオペレーティングシステムを実行しているクライアントの登録について説明します。

  • パッケージとメタデータは、SUSEではなくUbuntuから提供されます。

  • サポートされている製品については、リリースノートとサポートテーブルをサポートされているUbuntu機能でご覧ください。

SUSE Multi-Linux Managerは、Ubuntu 22.04 LTSおよび24.04 LTSクライアントをSaltを使用してサポートしています。

ブートストラップは、Ubuntuクライアントの起動およびリポジトリの設定やプロファイルの更新など、初期状態の実行のためにサポートされています。 ただし、Ubuntuのルートユーザはデフォルトで無効になっているため、起動するには、Python用の`sudo`権限を持つ既存のユーザーが必要です。

Canonicalは、SUSE Multi-Linux Managerを支持またはサポートしていません。

1. ソフトウェアチャンネルの追加

SUSE Multi-Linux ManagerサーバにUbuntuクライアントを登録する前に、必要なソフトウェアチャンネルを追加して同期する必要があります。

次のセクションでは、説明はしばしば x86_64 アーキテクチャを前提としています。 適切であれば、他のアーキテクチャに置き換えてください。

このプロシージャで必要な製品は次のとおりです。

Table 1. Ubuntu製品 - WebUI
[OSのバージョン] 製品名

Ubuntu 24.04

Ubuntu 24.04

Ubuntu 22.04

Ubuntu 22.04

プロシージャ:ソフトウェアチャンネルの追加
  1. SUSE Multi-Linux Manager Web UIで、管理者  セットアップウィザード  製品に移動します。

  2. 検索バーを使用して、クライアントのオペレーティングシステムおよびアーキテクチャに適切な製品を見つけ、適切な製品にチェックを付けます。 これにより、すべての必須チャンネルが自動的にチェックされます。 また、`include recommended`トグルがオンになっている限り、すべての推奨チャンネルも選択されます。 矢印をクリックして関連製品の完全なリストを表示し、必要な追加製品がチェックされていることを確認してください。

  3. 製品を追加をクリックし、製品の同期が完了するまで待機します。

または、コマンドプロンプトでチャンネルを追加できます。 このプロシージャで必要なチャンネルは次のとおりです。

Table 2. Ubuntuチャンネル - CLI
[OSのバージョン] ベースチャンネル

Ubuntu 24.04

ubuntu-2404-amd64-main-amd64

Ubuntu 22.04

ubuntu-2204-amd64-main-amd64

プロシージャ:コマンドプロンプトからのソフトウェアチャンネルの追加
  1. SUSE Multi-Linux Managerコンテナホストのコマンドプロンプトで、ルートとして、適切なチャンネルを追加します:

    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. 続行前に、同期が完了していることを確認してください。

2. Ubuntu ESMパッケージのミラーリング

Canonicalは、 拡張セキュリティメンテナンスESM)パッケージを Ubuntu Proユーザーおよび顧客に提供しています。 これらのパッケージは、いくつかのオペレーティングシステムコンポーネントおよび選択されたアプリケーションに対して、より長いメンテナンス(10年から12年)を提供します。

これらのリポジトリは、Ubuntu Proに登録されているシステムから必要なGPGキーと個人用ベアラートークンを抽出すれば、SUSE Multi-Linux Manager内でも同期できます。

2.1. GPGキーとベアラートークンの抽出

Ubuntu ProにUbuntuホストを登録します。 個人の登録トークンは、 Ubuntu Proダッシュボードにあります。 これには Ubuntu Oneアカウントが必要です。

sudo apt-get install ubuntu-advantage-tools
sudo pro attach <perosnal_token>

登録後、ベアラートークンはファイル`/etc/apt/auth.conf.d/90ubuntu-advantage`にあります:

machine esm.ubuntu.com/apps/ubuntu/ login bearer password <token>  # ubuntu-pro-client
machine esm.ubuntu.com/infra/ubuntu/ login bearer password <token>  # ubuntu-pro-client

リポジトリごとに1つの専用のベアラートークンが使用されます。

SUSE Multi-Linux Manager内で次のリポジトリを設定します:

2.2. Ubuntu ESMリポジトリの設定

リポジトリを作成するには、次のURLを使用します。

Table 3. Ubuntu ESMリポジトリ
URL 説明

https://bearer:<token>@esm.ubuntu.com/infra/ubuntu/dists/<release>-infra-updates/main/binary-<arch>/

オペレーティングシステムの機能更新

https://bearer:<token>@esm.ubuntu.com/infra/ubuntu/dists/<release>-infra-security/main/binary-<arch>/

オペレーティングシステムのセキュリティ更新

https://bearer:<token>@esm.ubuntu.com/apps/ubuntu/dists/<release>-apps-updates/main/binary-<arch>/

アプリケーションの機能更新

https://bearer:<token>@esm.ubuntu.com/apps/ubuntu/dists/<release>-apps-security/main/binary-<arch>/

アプリケーションのセキュリティ更新

`<token>`をあなたの個人用ベアラートークン(トークン)に置き換えてください。また、`arch`と`release`は次のいずれかの値に置き換える必要があります:

Table 4. Ubuntu ESMのアーキテクチャとリリース
アーキテクチャ リリース

amd64, arm64, armel, armhf, i386, powerpc, ppc64el, s390x

bionic, focal, jammy, noble, trusty, xenial

SUSE Multi-Linux Managerがリポジトリを同期するためには、対応するGPGキー(ubuntu-advantage-esm-infra-trusty.gpgubuntu-advantage-esm-apps.gpg)をインポートする必要があります。これらは、`/etc/apt/trusted.gpg.d`の下でUbuntu Proに登録されたシステムにあります。これらのファイルをSUSE Multi-Linux Managerシステムにコピーし、次のようにインポートします:

mgradm gpg add /path/to/gpg.key

すでに同期されたUbuntu親チャネルの下に、適切な子チャネルを作成してください。その後、リポジトリを同期できます。

ここに示されている手順は、サブスクリプションの制限を回避するために使用できますが、これは利用規約の違反となり、法的な結果をもたらす可能性があります。使用されるシステムの数に対して、常に十分なサブスクリプションが必要です。

3. 同期ステータスの確認

プロシージャ:Web UIからの同期の進捗状況の確認
  1. SUSE Multi-Linux Manager Web UIで、Admin  セットアップウィザードに移動し、`Products`タブを選択します。 このダイアログには、同期中の各製品の完了バーが表示されます。

  2. また、ソフトウェア  管理  チャネルに移動し、リポジトリに関連付けられたチャネルをクリックすることもできます。 `Repositories`タブに移動し、`Sync`をクリックして`Sync Status`をオンにします。

プロシージャ:コマンドプロンプトから同期の進捗状況を確認する
  1. tailを実行する前に利用可能なログを一覧表示するには、コンテナホストで次のコマンドを実行します。

    mgrctl exec ls /var/log/rhn/reposync/
  2. SUSE Multi-Linux Managerコンテナホストのコマンドプロンプトで、ルートユーザーとして、チャンネルログファイルの同期を確認します。

    mgrctl exec -ti -- tail -f /var/log/rhn/reposync/<channel-label>.log
  3. それぞれの子チャンネルは、同期の進捗中にそれぞれのログを生成します。 同期が完了したことを確認するには、ベースチャンネルと子チャンネルのログファイルをすべて確認する必要があります。

Ubuntuチャネルは非常に大きくなる可能性があります。 同期には時々数時間かかることがあります。

4. GPGキーの管理

クライアントは、ソフトウェアパッケージがインストールされる前に、その真正性を確認するためにGPGキーを使用します。 信頼できるソフトウェアのみがクライアントにインストールできます。

クライアントのセキュリティのために、GPGキーを信頼することは重要です。 どのキーが必要で信頼できるかを決定するのは管理者の仕事です。 GPG キーが信頼されていない場合、ソフトウェア チャンネルは使用できないため、クライアントにチャンネルを割り当てる決定はキーを信頼する決定に依存します。

GPGキーに関する詳細情報は、GPGキーを参照してください。

5. rootアクセス

UbuntuのルートユーザはデフォルトでSSHアクセスが無効になっています。

標準ユーザを使用してオンボードできるようにするには、`sudoers`ファイルを編集する必要があります。

この問題は、Ubuntuの自己インストール版で発生します。 インストール時にデフォルトユーザに管理者権限が付与されている場合、sudo`を使用して特権昇格を行うにはパスワードが必要です。 クラウドインスタンスでは、`cloud-init`が自動的に/etc/sudoers.d`の下にファイルを作成し、`sudo`を使用してパスワードなしで特権昇格を許可するため、これは発生しません。

5.1. 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

この手順では、クライアントを登録するために必要なパスワードなしでルートアクセスを付与します。 クライアントが正常にインストールされると、ルート権限で実行されるため、アクセスはもはや必要ありません。 クライアントが正常にインストールされた後、`sudoers`ファイルからその行を削除することをお勧めします。

5.2. SSH経由でインストール時に作成されたユーザとしてブートストラップする

SSH経由でUbuntuクライアントをブートストラップするには、インストール時に作成されたユーザをsudoグループに追加する必要があります。 次に、クライアントからブートストラップスクリプトを実行します。

プロシージャ:インストール時に作成されたユーザをsudoグループに追加し、SSH経由でブートストラップする
  1. クライアントで、ルートとしてコマンドラインから実行します(`<username>`をインストール時に作成されたユーザの名前に置き換えます):

    sudo usermod -aG sudo <username>
  2. コマンドラインからクライアントシステムを起動します(`<SERVER_FQDN>`をSUSE Multi-Linux Managerサーバの完全修飾ドメイン名に置き換えます):

    sudo su -
    curl -Sks https://<SERVER_FQDN>/pub/bootstrap/bootstrap-script.sh | /bin/bash

Ubuntuは、上記のようにUbuntuを発行した後、クライアントシステムのコマンドラインから実行される対応する`sudo su -`起動スクリプトを使用してのみ起動できます。 SUSE Multi-Linux Manager Web UI経由でブートストラップすることはできません。なぜなら、デフォルトでUbuntuでルートユーザが無効になっており、Web UIがUbuntuインストール時に作成されたユーザの特権昇格を許可しないからです。

6. クライアントの登録

クライアントを登録するには、ブートストラップリポジトリが必要です。 デフォルトでは、ブートストラップリポジトリは自動的に作成され、すべての同期された製品に対して毎日再生成されます。 コンテナホストのコマンドプロンプトからブートストラップリポジトリを手動で作成できます。

mgrctl exec -ti mgr-create-bootstrap-repo

クライアントの登録に関する詳細は、クライアントの登録を参照してください。