コンテンツライフサイクル管理の例

このセクションでは、コンテンツライフサイクル管理の使用方法の一般的な例をいくつか示します。 これらの例を使用して、独自にカスタマイズされた実装を構築します。

1. 月次パッチサイクルのプロジェクトの作成

月次パッチサイクルのプロジェクト例は、以下で構成されます。

  • By Date(日付別)フィルタの作成

  • プロジェクトへのフィルタの追加

  • 新しいプロジェクトビルドへのフィルタの適用

  • プロジェクトからのパッチの除外

  • プロジェクトにパッチを含める

1.1. By Date(日付別)フィルタの作成

指定した日付以降にリリースされたすべてのパッチはBy Date(日付別)フィルタによって除外されます。 このフィルタは、月次パッチサイクルに従うコンテンツライフサイクルプロジェクトに役立ちます。

プロシージャ: By Date(日付別)フィルタの作成
  1. SUSE Manager Web UIで、コンテンツライフサイクル  フィルタに移動して、Create Filter(フィルタの作成)をクリックします。

  2. フィルタ名]フィールドに、フィルタの名前を入力します。 たとえば、Exclude patches by date(日付別にパッチを除外する)。

  3. フィルタタイプ]フィールドで、[Patch (Issue date)](パッチ(発行日))を選択します。

  4. マッチャー]フィールドでは、[later or equal](それ以降)が自動選択されます。

  5. 日時を選択します。

  6. 保存をクリックします。

1.2. プロジェクトへのフィルタの追加

プロシージャ: プロジェクトへのフィルタの追加
  1. SUSE Manager Web UIで、コンテンツライフサイクル  プロジェクトに移動して、リストからプロジェクトを選択します。

  2. フィルタの割り当て/取り外しリンクをクリックして、すべての使用可能なフィルタを表示します

  3. 新しい[ Exclude patches by date](日付別にパッチを除外する)を選択します。

  4. 保存をクリックします。

1.3. 新しいプロジェクトビルドへのフィルタの適用

新しいフィルタがフィルタリストに追加されますが、プロジェクトに適用する必要があります。 フィルタを適用するには、最初の環境を構築する必要があります。

プロシージャ: フィルタの使用
  1. ビルドをクリックして、最初の環境を構築します。

  2. オプション: メッセージを追加します。 メッセージを使用して、ビルド履歴を追跡できます。

  3. テストサーバで新しいチャンネルを使用して、フィルタが正しく機能していることを確認します。

  4. Promote(プロモート)をクリックして、次の環境にコンテンツを移動します。 多数のフィルタがある場合、または非常に複雑な場合は、ビルドに時間がかかります。

1.4. プロジェクトからのパッチの除外

テストは、問題を発見するのに役立つ場合があります。 問題が見つかった場合は、by date(日付別)フィルタの前にリリースされた問題のパッチを除外します。

プロシージャ: パッチの除外
  1. SUSE Manager Web UIで、コンテンツライフサイクル  フィルタに移動して、Create Filter(フィルタの作成)をクリックします。

  2. フィルタ名]フィールドに、フィルタの名前を入力します。 たとえば、[Exclude openjdk patch](openjdkパッチの除外)。

  3. フィルタタイプ]フィールドで、[Patch (Advisory Name)](パッチ(アドバイザリ名))を選択します。

  4. マッチャー]フィールドで、[等しい]を選択します。

  5. アドバイザリ名]フィールドに、アドバイザリの名前を入力します。 たとえば、SUSE-15-2019-1807

  6. 保存をクリックします。

  7. コンテンツライフサイクル  プロジェクトに移動して、プロジェクトを選択します。

  8. フィルタの割り当て/取り外しリンクをクリックして、[Exclude openjdk patch](openjdkパッチの除外)を選択し、保存をクリックします。

ビルドボタンを使用してプロジェクトを再構築すると、新しいフィルタが、以前に追加した[ by date](日付別)フィルタとともに使用されます。

1.5. プロジェクトにパッチを含める

この例では、セキュリティアラートを受信しています。 重要なセキュリティパッチが、現在作業している月の最初の日から数日後にリリースされました。 新しいパッチの名前はSUSE-15-2019-2071です。 この新しいパッチを環境に含める必要があります。

許可]フィルタ規則は、[拒否]フィルタ規則の除外機能を上書きします。 詳細については、コンテンツライフサイクル管理を参照してください。

プロシージャ: プロジェクトにパッチを含める
  1. SUSE Manager Web UIで、コンテンツライフサイクル  フィルタに移動して、Create Filter(フィルタの作成)をクリックします。

  2. フィルタ名]フィールドに、フィルタの名前を入力します。 たとえば、Include kernel security fix(カーネルセキュリティ修正を含める)。

  3. フィルタタイプ]フィールドで、[Patch (Advisory Name)](パッチ(アドバイザリ名))を選択します。

  4. マッチャー]フィールドで、[等しい]を選択します。

  5. アドバイザリ名]フィールドに、「SUSE-15-2019-2071」と入力し、[許可]をオンにします。

  6. 保存をクリックして、フィルタを保存します。

  7. コンテンツライフサイクル  プロジェクトに移動して、リストからプロジェクトを選択します。

  8. フィルタの割り当て/取り外しをクリックして、[Include kernel security patch](カーネルセキュリティパッチを含める)を選択します。

  9. 保存をクリックします。

  10. ビルドをクリックして、環境を再構築します。

2. 既存の月次パッチサイクルの更新

月次パッチサイクルが完了すると、次の月のパッチサイクルを更新できます。

プロシージャ: 月次パッチサイクルの更新
  1. by date](日付別)フィールドで、フィルタの日付を次の月に変更します。 または、新しいフィルタを作成して、プロジェクトへの割り当てを変更します。

  2. SUSE-15-2019-1807の除外フィルタをプロジェクトから取り外すことができるかどうか確認します。 この問題を解決するために使用できる新しいパッチがある場合があります。

  3. 以前に追加した[許可]フィルタを取り外します。 パッチはデフォルトで含まれています。

  4. プロジェクトを再構築して、来月のパッチを適用した新しい環境を作成します。

3. ライブパッチ処理でプロジェクトを強化

このセクションでは、ライブパッチ処理用の環境を作成するためのフィルタの設定について説明します。

ライブパッチ処理を使用する準備をしている場合には、いくつかの重要な考慮事項があります

  • システムでカーネルバージョンを1つだけ使用してください。 ライブパッチ処理パッケージは、特定のカーネルとともにインストールされます。

  • ライブパッチ処理の更新は、1つのパッチとして出荷されます。

  • 新しいシリーズのライブパッチ処理カーネルを開始するカーネルパッチごとに、要再起動フラグが表示されます。 これらのカーネルパッチには、ライブパッチ処理ツールが付属しています。 それらをインストールしたら、翌年になる前に少なくとも1回システムを再起動する必要があります。

  • インストール済みカーネルバージョンに一致するライブパッチ更新のみをインストールします。

  • ライブパッチは、スタンドアロンパッチとして提供されます。 現在インストールされているカーネルバージョンよりも新しいカーネルバージョンの通常のカーネルパッチをすべて除外する必要があります。

3.1. より新しいカーネルバージョンのパッケージを除外する

この例では、SUSE-15-2019-1244パッチでシステムを更新します。 このパッチには、kernel-default-4.12.14-150.17.1-x86_64が含まれています。

より新しいバージョンのkernel-defaultkernel-default-baseを含むすべてのパッチを除外する必要があります。

プロシージャ: より新しいカーネルバージョンのパッケージを除外する
  1. SUSE Manager Web UIで、コンテンツライフサイクル  フィルタに移動して、Create Filter(フィルタの作成)をクリックします。

  2. フィルタ名]フィールドに、フィルタの名前を入力します。 たとえば、Exclude kernel greater than 4.12.14-150.17.1(4.12.14-150.17.1より新しいカーネルを除外する)。

  3. フィルタタイプ]フィールドで、[Patch (Contains Package)](パッチ(パッケージを含む))を選択します。

  4. マッチャー]フィールドで、[version greater than](指定したものより新しいバージョン)を選択します。

  5. パッケージ名]フィールドに、「kernel-default」と入力します。

  6. エポック]フィールドを空のままにします。

  7. バージョン]フィールドに、「4.12.14」と入力します。

  8. リリース]フィールドに、「 150.17.1」と入力します。

  9. 保存をクリックして、フィルタを保存します。

  10. コンテンツライフサイクル  プロジェクトに移動して、プロジェクトを選択します。

  11. フィルタの割り当て/取り外しをクリックします。

  12. Exclude kernel greater than 4.12.14-150.17.1](4.12.14-150.17.1より新しいカーネルを除外する)を選択して、保存をクリックします。

kernel-default-baseパッケージについても、この手順を繰り返す必要があります。

ビルドをクリックすると、新しい環境が作成されます。 新しい環境には、インストールしたバージョンまでのすべてのカーネルパッチが含まれています。

より新しいカーネルバージョンのすべてのカーネルパッチは削除されます。 ライブパッチ処理カーネルは、シリーズの最初でない限り、引き続き使用できます。

このプロシージャはフィルタテンプレートを使用して自動化できます。 ライブパッチ処理フィルタテンプレートの適用方法の詳細については、administration:content-lifecycle.adoc#filter-templatesを参照してください。

4. ライブパッチ処理用の新しいカーネルバージョンに切り替える

特定のカーネルバージョン用のライブパッチ処理は、1年間のみ利用できます。 1年後、システムのカーネルを更新する必要があります。 以下の環境変更を実行します。

プロシージャ: 新しいカーネルバージョンに切り替える
  1. アップグレードするカーネルバージョンを決定します。 例: 4.12.14-150.32.1

  2. 新しいカーネルバージョンフィルタを作成します。

  3. Detach all previous Live Patching filters associated with the old kernel.

  4. Attach the new kernel version filter.

  5. ビルドをクリックして、環境を再構築します。

    Once the build is complete, you must immediately re-attach the two filters which:

    • reboot_suggestedキーワードを含むパッチを拒否する

    • installhint(reboot-needed)という名前を提供するパッケージを含むパッチを拒否する

The new environment contains all kernel patches up to the new kernel version you selected. Systems using these channels have the kernel update available for installation. You need to reboot systems after they have performed the upgrade. The new kernel remains valid for one year. All packages installed during the year match the current live patching kernel filter.

5. AppStreamフィルタ

Red Hat Enterprise Linux 8以降のクライアントを使用している場合は、Red Hat Enterprise Linux AppStreamリポジトリなどのモジュラーリポジトリから直接インストールやアップグレードなどのパッケージ操作を実行できません。AppStreamフィルタを使用して、モジュラーリポジトリを通常のリポジトリに変換できます。これはパッケージをリポジトリに保持し、モジュールのメタデータを削除することにより行われます 。その結果作成されたリポジトリは、通常のリポジトリと同じ方法でSUSE Managerで使用できます。

AppStreamフィルタはターゲットリポジトリに含める単一のモジュールストリームを選択します。 複数のフィルタを追加して、複数のモジュールストリームを選択できます。

CLMプロジェクトでAppStreamフィルタを使用しない場合は、モジュラーソースのモジュールメタデータは未加工のままで、ターゲットリポジトリには同じモジュールメタデータが含まれます。 CLMプロジェクトで少なくとも1つのAppStreamフィルタが有効になっている限り、すべてのターゲットリポジトリが通常のリポジトリに変換されます。

場合によっては、どのモジュールのパッケージも含めずに通常のリポジトリを構築したい場合があります。 これを行うには、マッチャー なし (モジュール化を無効にする)を使用して AppStreamフィルタを追加します。 これにより、ターゲットリポジトリ内のすべてのモジュールが無効になります。 これは、ほとんどのモジュールのデフォルトバージョンが通常のパッケージとしてAppStreamリポジトリにすでに含まれている、Red Hat Enterprise Linux 9のクライアントに特に役立ちます。

AppStreamフィルタを使用するには、Red Hat Enterprise Linux AppStreamsなどのモジュラーリポジトリを含むCLMプロジェクトが必要です。 開始する前に、必要なモジュールがソースとして含まれていることを確認してください。

プロシージャ: AppStreamフィルタの使用
  1. SUSE Manager Web UIで、Red Hat Enterprise Linux 8または9 CLMプロジェクトに移動します。 プロジェクトにAppStreamチャンネルが含まれていることを確認します。

  2. Create Filter(フィルタの作成)をクリックし、次のパラメータを使用します。

    • フィルタ名]フィールドには、新しいフィルタの名前を入力します。

    • フィルタタイプ]フィールドで、[Module (Stream)](モジュール(ストリーム))を選択します。

    • マッチャー]フィールドで、[等しい]を選択します。

    • モジュール名]フィールドに、モジュール名を入力します。 たとえば、postgresql

    • ストリーム]フィールドに、目的のストリームの名前を入力します。 たとえば、10。 このフィールドを空のままにする場合、モジュールのデフォルトのストリームが選択されます。

  3. 保存をクリックして、新しいフィルタを作成します。

  4. コンテンツライフサイクル  プロジェクトに移動して、プロジェクトを選択します。

  5. フィルタの割り当て/取り外しをクリックし、新しいAppStreamフィルタを選択して、保存をクリックします。

Create/Edit Filter](フィルタの作成/編集)フォームのブラウズ機能を使用して、モジュラーチャンネルで使用可能なモジュールストリームのリストからモジュールを選択できます。

プロシージャ: 使用可能なモジュールストリームのブラウズ
  1. SUSE Manager Web UIで、Red Hat Enterprise Linux 8または9 CLMプロジェクトに移動します。 プロジェクトにAppStreamチャンネルが含まれていることを確認します。

  2. Create Filter(フィルタの作成)をクリックし、次のパラメータを使用します。

    • フィルタ名]フィールドには、新しいフィルタの名前を入力します。

    • フィルタタイプ]フィールドで、[Module (Stream)](モジュール(ストリーム))を選択します。

    • マッチャー]フィールドで、[等しい]を選択します。

  3. Browse available modules](使用可能なモジュールをブラウズ)をクリックして、すべてのモジュラーチャンネルを表示します。

  4. モジュールとストリームをブラウズするチャンネルを選択します。

    • モジュール名]フィールドで、検索するモジュール名の入力を開始するか、リストから選択します。

    • ストリーム]フィールドで、検索するストリーム名の入力を開始するか、リストから選択します。

チャンネル選択はモジュールのブラウズのみを目的としています。 選択したチャンネルはフィルタとともに保存されず、CLMプロセスには影響しません。

ターゲットリポジトリに含める他のモジュールストリーム用に追加のAppStreamフィルタを作成できます。 選択したストリームが依存するモジュールストリームは自動的に含まれます。

競合する、互換性のない、または欠落しているモジュールストリームを指定しないように注意してください。 たとえば、同じモジュールから2つのストリームを選択すると無効になります。

プロシージャ: モジュール化の無効化
  1. SUSE Manager Web UIで、Red Hat Enterprise Linux 8または9 CLMプロジェクトに移動します。 プロジェクトにAppStreamチャンネルが含まれていることを確認します。

  2. Create Filter (フィルタの作成)をクリックし、次のパラメータを使用します。

    • フィルタ名]フィールドには、新しいフィルタの名前を入力します。

    • フィルタタイプ]フィールドで、[Module (Stream)](モジュール(ストリーム))を選択します。

    • マッチャー]フィールドで、[なし (モジュール化を無効にする)]を選択します。

  3. 保存をクリックして、新しいフィルタを作成します。

  4. コンテンツライフサイクル  プロジェクトに移動して、プロジェクトを選択します。

  5. フィルタの割り当て/取り外しをクリックし、新しいAppStreamフィルタを選択して、保存をクリックします。

これにより、モジュールに属するパッケージを除いて、モジュールのメタデータがターゲットリポジトリから効率的に削除されます。

Web UIのビルドボタンを使用してCLMプロジェクトを構築する場合、ターゲットリポジトリは、選択したモジュールストリームからのパッケージを含む、モジュールを含まない通常のリポジトリです。

Red Hat Enterprise Linux 8のプロジェクトでモジュール化を完全に無効にすると、一部のモジュールが Red Hat Enterprise Linux 8での正常な動作に不可欠であるため、環境に不具合が生じる可能性があります。