ブートストラップリポジトリ

ブートストラップリポジトリには、ブートストラップ中にクライアントを登録するために必要なパッケージが含まれています。 製品が同期されると、ブートストラップリポジトリはSUSE Multi-Linux Managerサーバー上で自動的に作成および再生成されます。

1. ブートストラップリポジトリの作成準備

同期する製品を選択するとき、ブートストラップリポジトリは、必須のチャンネルすべてが完全にミラーリングされるとすぐに自動的に作成されます。

プロシージャ: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. それぞれの子チャンネルは、同期の進捗中にそれぞれのログを生成します。 同期が完了したことを確認するには、ベースチャンネルと子チャンネルのログファイルをすべて確認する必要があります。

2. 自動モードのオプション

自動ブートストラップリポジトリの作成方法を変更できます。 このセクションでは、さまざまな設定について詳しく説明します。

フラッシュモード

デフォルトでは、既存のリポジトリは最新のパッケージでのみ更新されます。 代わりに、常に空のリポジトリから開始するように構成できます。 この動作を有効にするには、`/etc/rhn/rhn.conf`にこの値を追加または編集してください。

server.susemanager.bootstrap_repo_flush = 1
自動モード

デフォルトでは、ブートストラップリポジトリの自動再生成が有効になっています。 これを無効にするには、`/etc/rhn/rhn.conf`にこの値を追加または編集してください。

server.susemanager.auto_generate_bootstrap_repo = 0

2.1. ブートストラップデータファイルの設定

このツールは、各ディストリビューションに必要なパッケージに関する情報を含むデータファイルを使用します。 データファイルは`/usr/share/susemanager/mgr_bootstrap_data.py`に保存されます。SUSEはこのファイルを定期的に更新します。 このファイルに変更を加えたい場合は、直接編集しないでください。 代わりに、永続ディレクトリにコピーを作成し、そのコピーを編集してください。

cp /usr/share/susemanager/mgr_bootstrap_data.py /srv/susemanager/my_data.py

変更を加えたら、SUSE Multi-Linux Managerに新しいファイルを使用するように構成してください。 `/etc/rhn/rhn.conf`にこの値を追加または編集してください。

server.susemanager.bootstrap_repo_datamodule = my_data

次の更新時に、SUSEからの新しいデータが元のデータファイルを上書きし、新しいファイルは上書きされません。 SUSEから提供される変更に合わせて新しいファイルを最新の状態に保つ必要があります。

3. ブートストラップリポジトリの手動生成

デフォルトでは、ブートストラップリポジトリは毎日再生成されます。 コマンドプロンプトから手動でブートストラップリポジトリを作成できます。

プロシージャ:SUSE Linux Enterpriseのブートストラップリポジトリを生成しています。
  1. SUSE Multi-Linux Managerサーバのコマンドプロンプトで、rootとして、ブートストラップリポジトリを作成するために使用できるディストリビューションをリストします。

    mgr-create-bootstrap-repo -l
  2. 製品ラベルとして適切なリポジトリ名を使用して、ブートストラップリポジトリを作成します。

    mgr-create-bootstrap-repo -c SLE-version-x86_64
  3. または、利用可能なディストリビューション一覧のディストリビューション名の横に表示されている番号を使用します。

クライアントリポジトリは`/srv/www/htdocs/pub/repositories/`にあります。

複数の製品(たとえば、SLESおよびSLES for SAP)をミラーリングしている場合や、カスタムチャンネルを使用している場合は、ブートストラップリポジトリを作成する際に使用する親チャンネルを指定する必要があるかもしれません。 これはすべての状況で必要なわけではありません。 たとえば、いくつかのSLES 15バージョンは共通コードベースを持っているため、親チャンネルを指定する必要はありません。 この手順は、環境が必要とする場合にのみ使用してください。

オプションのプロシージャ:ブートストラップリポジトリの親チャンネルの指定
  1. 利用できる親チャンネルを確認します。

    mgr-create-bootstrap-repo -c SLE-15-x86_64
    Multiple options for parent channel found. Please use option
    --with-parent-channel <label> and choose one of:
    - sle-product-sles15-pool-x86_64
    - sle-product-sles_sap15-pool-x86_64
    - sle-product-sled15-pool-x86_64
  2. 適切な親チャンネルを指定します。

    mgr-create-bootstrap-repo -c SLE-15-x86_64 --with-parent-channel sle-product-sled15-pool-x86_64

3.1. 複数アーキテクチャを含むリポジトリ

異なるアーキテクチャを含むブートストラップリポジトリを作成する場合は、すべてのアーキテクチャが正しく更新されるように注意する必要があります。 例えば、SLEのx86-64およびIBM Zアーキテクチャは、`/srv/www/htdocs/pub/repositories/sle/15/2/bootstrap/`にある同じ起動するリポジトリのURLを使用します。

flush`オプションが有効な場合、複数のアーキテクチャのために起動するリポジトリを生成しようとすると、1つのアーキテクチャのみが生成されます。 これを避けるために、追加のアーキテクチャを作成する際には、コマンドプロンプトで--no-flush`オプションを使用してください。 例:

mgr-create-bootstrap-repo -c SLE-15-SP2-x86_64
mgr-create-bootstrap-repo --no-flush -c SLE-15-SP2-s390x

4. ブートストラップとカスタムチャンネル

カスタムチャネルを使用している場合は、mgr-create-bootstrap-repo`コマンドで--with-custom-channels`オプションを使用できます。 この場合、使用する親チャンネルも指定する必要があります。

カスタムチャンネルを使用している場合、ブートストラップリポジトリの自動作成が失敗することがあります。 この場合、リポジトリを手動で作成する必要があります。

カスタムチャンネルの詳細については、カスタムチャンネルを参照してください。