CentOSクライアントの登録

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

  • CentOSリポジトリのURLはSUSE Customer Centerから入手できます

  • パッケージおよびメタデータはSUSEではなくCentOSから提供されます。

  • サポートされている製品については、サポートテーブルとリリースノートを参照してください。

CentOSクライアントは、CentOSに基づいていて、SUSE Linux Enterprise Server with Expanded Support、RES、Red Hat、またはExpanded Supportとは関係がありません。 CentOSベースメディアリポジトリとCentOSインストールメディアへのアクセス管理、およびSUSE ManagerサーバのCentOSコンテンツデリバリネットワークへの接続は、ユーザが行います。

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

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

現在サポートされているアーキテクチャは、「 x86_64」と「 aarch64」です。 サポートされている製品およびアーキテクチャの完全な一覧については、サポートされているクライアントと機能を参照してください。

次のセクションでは、x86_64アーキテクチャに基づく説明が多いです。 必要に応じて他のアーキテクチャに置き換えてください。

たとえば、「x86_64」アーキテクチャを使用する場合は、次の製品が必要です。

Table 1. CentOS製品 - WebUI
OSバージョン 製品名

CentOS 7

CentOS 7 x86_64

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

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

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

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

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

CentOS 7

centos7-x86_64

プロシージャ: コマンドプロンプトからのソフトウェアチャンネルの追加
  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. 続行前に、同期が完了していることを確認してください。

モジュラーチャンネルを使用している場合は、クライアントでPython3.6モジュールストリームを有効にする必要があります。Python 3.6を提供しない場合、spacecmdパッケージのインストールは失敗します。

上流のチャンネルとSUSE Managerチャンネルの間のAppStreamチャンネルで利用できるパッケージ数に不一致が発生する場合があります。 また、同時に別の場所で追加したチャンネルを比較すると、数値が異なる場合もあります。 CentOSでリポジトリを管理する方法が原因です。 CentOSでは新しいバージョンがリリースされると古いバージョンのパッケージが削除されますが、SUSE Managerでは経過年数に関係なくすべてのバージョンが保持されます。

AppStreamリポジトリにはモジュールパッケージが用意されています。 SUSE ManagerのWeb UIに正しくないパッケージ情報が表示されます。 Web UIまたはAPIを使用してモジュールリポジトリから直接インストールまたはアップグレードするようなパッケージ操作は実行できません。

または、Salt状態を使用してSaltクライアントでモジュラーパッケージを管理したり、クライアントでdnfコマンドを使用することもできます。 CLMの詳細については、コンテンツライフサイクル管理を参照してください。

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

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

  2. 代わりに、ソフトウェア  管理  チャンネルに移動し、リポジトリに関連付けられているチャンネルをクリックします。 [リポジトリ]タブに移動し、[同期]をクリックし、[同期状態]をクリックします。

プロシージャ: コマンドプロンプトから同期の進捗状況を確認する
  1. SUSE Managerサーバのコマンドプロンプトで、rootとして、tailコマンドを使用して同期ログファイルを確認します。

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

3. アクティベーションキーの作成

CentOSチャンネルと関連付けられているアクティベーションキーを作成する必要があります。

アクティベーションキーの詳細については、アクティベーションキーを参照してください。

4. GPGキーの管理

クライアントではGPGキーを使用して、ソフトウェアパッケージをインストールする前にパッケージ認証の確認が行われます。 信頼されているソフトウェアのみクライアントにインストールできます。

クライアントのセキュリティにとってGPGキーを信頼することは重要です。 必要かつ信頼できるキーを決定するのは管理者のタスクです。 GPGキーが信頼されていない場合、ソフトウェアチャンネルをクライアントに割り当てることはできません。

GPGキーの詳細については、GPGキーを参照してください。

5. クライアントの登録

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

mgr-create-bootstrap-repo

クライアントの登録については、クライアントの登録を参照してください。

6. エラータの管理

CentOSクライアントを更新するとき、パッケージには更新に関するメタデータは含まれていません。 サードパーティのエラータサービスを使用してこの情報を取得できます。

ここで説明するサードパーティのエラータサービスであるCEFSは、コミュニティによって提供され、維持管理されます。 これはSUSEではサポートされていません。

CEFSの作成者は、パッチまたはエラータを、利便性向上を目指して努力ベースで提供していますが、これが正確であることや最新であることを保証していません。 つまり、パッチ日が正しくない場合があります。また、発行されたデータが1か月以上遅れて示されたことが少なくとも1回ありました。 このような場合の情報については、https://github.com/stevemeier/cefs/issues/28#issuecomment-656579382およびhttps://github.com/stevemeier/cefs/issues/28#issuecomment-656573607を参照してください。

パッチデータに問題または遅れがあると、信頼できないパッチ情報がSUSE Managerサーバにインポートされる場合があります。その結果、レポート、監査、CVEの更新、またはその他のパッチ関連の情報も誤りになります。セキュリティ関連の要件や証明書の条件に応じて、パッチデータを独立して確認する方法や、異なるオペレーティングシステムを選択する方法など、このサービスを使用する方法の代替方法を検討してください。

プロシージャ: エラータサービスのインストール
  1. SUSE Managerサーバでコマンドプロンプトからrootとしてsle-module-development-toolsモジュールを追加します。

    SUSEConnect --product sle-module-development-tools/15.2/x86_64
  2. エラータサービスの依存関係をインストールします。

    zypper in  perl-Text-Unidecode
  3. /etc/rhn/rhn.confで次の行を追加または編集します。

    java.allow_adding_patches_via_api = centos7-x86_64-updates,centos7-x86_64,centos7-x86_64-extras
  4. Tomcatを再起動します。

    systemctl restart tomcat
  5. エラータスクリプト用のファイルを作成します。

    touch /usr/local/bin/cent-errata.sh
  6. 新しいファイルを編集してこのスクリプトを含め、必要に応じてリポジトリの詳細を編集します。 このスクリプトは、外部のエラータサービスからエラータの詳細をフェッチして展開し、詳細を発行します。

    #!/bin/bash
    mkdir -p /usr/local/centos
    cd /usr/local/centos
    rm *.xml
    wget -c http://cefs.steve-meier.de/errata.latest.xml
    wget -c https://www.redhat.com/security/data/oval/v2/RHEL7/rhel-7.oval.xml.bz2
    bzip2 -d rhel-7.oval.xml.bz2
    wget -c http://cefs.steve-meier.de/errata-import.tar
    tar xvf errata-import.tar
    chmod +x /usr/local/centos/errata-import.pl
    export SPACEWALK_USER='<adminname>';export SPACEWALK_PASS='<password>'
    /usr/local/centos/errata-import.pl --server '<servername>' \
    --errata /usr/local/centos/errata.latest.xml  \
    --include-channels=centos7-x86_64-updates,centos7-x86_64,centos7-x86_64-extras \
    --publish --rhsa-oval /usr/local/centos/rhel-7.oval.xml
  7. スクリプトを毎日実行するようcronジョブを設定します。

    ln -s /usr/local/bin/cent-errata.sh /etc/cron.daily

このツールの詳細については、https://cefs.steve-meier.de/を参照してください。