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
OSバージョン 製品名

Ubuntu 20.04

Ubuntu 20.04

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

  2. 検索バーを使用してクライアントのオペレーティングシステムおよびアーキテクチャに適切な製品を探し、適切な製品にチェックを付けます。 こうすることによって、すべての必須チャンネルに自動的にチェックが付きます。 また、include recommendedトグルがオンになっている場合、すべての推奨チャンネルにもチェックが付きます。 矢印をクリックして関連製品の一覧を表示し、必要な追加製品にチェックが付いていることを確認します。

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

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

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

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がインストール可能になりました。