第10章 エラータの管理
Red Hat では、品質管理およびリリースプロセスの一部として、お客様に Red Hat RPM の公式リリースのアップデートを提供しています。Red Hat では、アップデートを説明するアドバイザリーと共に、関連パッケージのグループを エラータ にコンパイルします。アドバイザリーには以下の 3 種類があります (重要度の高い順)。
- セキュリティーアドバイザリー
- パッケージで見つかったセキュリティー問題の修正を説明。セキュリティー問題の重大度のレベルは、低、中、重要、重大に分かれています。
- バグ修正アドバイザリー
- パッケージのバグ修正を説明。
- 製品の機能強化アドバイザリー
- パッケージに追加された機能強化および新機能を説明。
Red Hat Satellite 6 は、リポジトリーを Red Hat の Content Delivery Network (CDN) と同期する際にこれらのエラータ情報をインポートします。Red Hat Satellite 6 ではエラータを検証しフィルタリングするためのツールも提供しており、アップデートの管理が正確にできます。このようにして、関連のあるアップデートを選択し、コンテンツビューから選択したコンテンツホストに伝達することができます。
エラータには、それらに含まれる最も重要なアドバイザリータイプに応じてラベルが付けられます。そのため、製品の機能強化アドバイザリー というラベルが付けられたエラータには機能強化の更新のみが含まれ、バグ修正アドバイザリー エラータにはバグ修正と機能強化の両方が含まれ、セキュリティーアドバイザリー にはこれら 3 つのタイプが含まれる場合があります。
Red Hat Satellite では、エラータと利用可能なコンテンツホストとの関係を表す 2 つのキーワードがあります。
- 適用可能
- エラータは 1 つ以上のコンテンツホストに適用されます。つまり、コンテンツホストにあるパッケージが更新されます。「適用可能」なエラータは、コンテンツホストがアクセスできる段階にはありません。
- インストール可能
- エラータは 1 つ以上のコンテンツホストに適用され、コンテンツホストで利用可能になっています。インストール可能なエラータはコンテンツホストのライフサイクル環境とコンテンツビューに存在しますが、インストールはされていません。このため、エラータは、コンテンツホストを管理するパーミッションがあるものの、より高いレベルでのエラータ管理の権限がないユーザーによるインストールが可能になっています。
本章では、エラータの管理方法とシステムへの適用方法を説明します。
10.1. 利用可能なエラータの検出
以下の手順では、利用可能なエラータを表示し、フィルターする方法や、選択したアドバイザリーのメタデータを表示する方法を説明します。
- コンテンツ > エラータ に移動して、利用可能なエラータの一覧を表示します。
ページ上部のフィルターツールを使用して、表示されるエラータの数を制限します。
- 調べるリポジトリーをリストから選択します。デフォルトでは すべてのリポジトリー が選択されます。
- 適用可能 チェックボックスがデフォルトで選択され、選択されたリポジトリーに適用可能なエラータだけが表示されます。インストール可能 チェックボックスを選択すると、インストール可能のマークが付いたエラータのみが表示されます。
エラータの表を検索するには、以下の形式で 検索 フィールドにクエリーを入力します。
parameter operator value
検索に使用できるパラメーターの一覧は表10.1「エラータ検索で利用できるパラメーター」を参照してください。適用可能な演算子の一覧は『Red Hat Satelliteの管理』の「詳細な検索に対してサポートされる演算子」を参照してください。入力時に自動サジェスト機能が利用できます。and 演算子と or 演算子を使用してクエリーを組み合わせることもできます。たとえば、kernel パッケージに関するセキュリティーアドバイザリーのみを表示するには、以下を入力します。
type = security and package_name = kernel
Enter を押して検索を開始します。
調べるエラータの Errata ID をクリックします。
- 詳細 タブには、更新されたパッケージの説明や、更新によって提供される重要な修正および機能強化が記載されています。
- コンテンツホスト タブでは、「複数システムへのエラータの適用」で説明したように、選択したコンテンツホストにエラータを適用できます。
- リポジトリー タブには、エラータが含まれているリポジトリーの一覧が表示されます。リポジトリーはフィルターを使用して環境やコンテンツビューで絞り込むことができ、リポジトリー名で検索できます。
パラメーター | 説明 | 例 |
---|---|---|
bug |
Bugzilla 番号での検索。 |
bug = 1172165 |
cve |
CVE 番号での検索。 |
cve = CVE-2015-0235 |
id |
エラータ ID での検索。自動サジェストシステムにより、入力時に利用可能な ID の一覧が表示されます。 |
id = RHBA-2014:2004 |
issued |
発行日による検索。正確な日付 (「Feb16,2015」など) を指定したり、キーワード (「Yesterday」、「1 hour ago」など) を使用したりできます。時間の範囲は、「<」演算子と「>」演算子を使用して指定できます。 |
issued < "Jan 12,2015" |
package |
完全なパッケージビルド名による検索。自動サジェストシステムにより、入力時に利用可能なパッケージの一覧が表示されます。 |
package = glib2-2.22.5-6.el6.i686 |
package_name |
パッケージ名による検索。自動サジェストシステムにより、入力時に利用可能なパッケージの一覧が表示されます。 |
package_name = glib2 |
severity |
セキュリティー更新によって修正される問題の重大度による検索。Critical、Important、または Moderate を指定します。 |
severity = Critical |
title |
アドバイザリーのタイトルによる検索。 |
title ~ openssl |
type |
アドバイザリーのタイプによる検索。security、bugfix、または enhancement を指定します。 |
type = bugfix |
updated |
最新更新日による検索。 |
updated = "6 days ago" |
10.2. エラータ通知のサブスクライブ
Satellite ユーザー向けにメール通知を設定することができます。ユーザーには、リポジトリーの同期後に、適用可能かつインストール可能なエラータのまとめ、通知が、コンテンツビュープロモーションで送信されます。詳しい情報は、『Red Hat Satellite の管理』ガイドの「メール通知の設定」を参照してください。
10.3. コンテンツビューによるエラータ管理
Red Hat Satellite 6 では、エラータの管理や適用するために、さまざまな方法を提供しています。エラータを絞り込むには、コンテンツビューとコンテンツフィルターを使用できます。フィルターには以下のものがあります。
- ID: 結果として表示されるリポジトリーに含めることができるように、特定のエラータを選択します。
- 日付の範囲: 日付の範囲を定義して、その範囲内にリリースされたエラータを追加します。
- タイプ: バグ修正、機能強化、セキュリティーなどのエラータのタイプを選択して追加します。
10.3.1. エラータ用のコンテンツビューフィルターの作成
特定日より後のエラータを除外するコンテンツフィルターを作成します。これにより、アプリケーションライフサイクルの実稼働システムがある時点まで最新に保たれたことになります。その後にこのフィルターの開始日を変更し、テスト環境に新たなエラータを導入します。こうすることで、新パッケージにアプリケーションライフサイクルとの互換性があるかどうかをテストすることができます。
前提条件
- 必要なエラータを含むリポジトリーを指定してコンテンツビューを作成します。詳細情報は、「シンプルなコンテンツビューの作成」を参照してください。
手順
- Satellite web UI で、コンテンツ > コンテンツビュー に移動して、エラータ適用に使用するコンテンツビューを選択します。
- Yum コンテンツ > フィルター に移動し、新規フィルター をクリックします。
-
名前 フィールドで、
Errata Filter
を入力します。 - コンテンツタイプ リストから エラータ - 日付およびタイプ を選択します。
- 含有タイプ リストから 除外 を選択してください。
-
説明 フィールドに
Exclude errata items from YYYY-MM-DD
を入力します。 - 保存 をクリックします。
- エラータタイプ には、除外するエラータタイプのチェックボックスを選択します。たとえば、特定の日付以降の機能拡張やバグ修正エラータを除外し、セキュリティーエラータすべてを含めるには、機能拡張 および バグ修正 のチェックボックスを選択し、セキュリティー チェックボックスの選択を解除します。
日付タイプ では、2 つのチェックボックスからいずれかを選択します。
- エラータの発行日については 発行日 を選択します。
- エラータの最終更新日については 更新日 を選択します。
- 開始日 を選択して、すべてのエラータを除外するか、選択した日付以降のエラータを除外します。
- 終了日 フィールドは空白にしておきます。
- 保存 をクリックします。
- 新規バージョンの公開 をクリックして、表示されているリポジトリーを公開します。
-
説明 フィールドに
Adding errata filter
と入力します。 保存 をクリックします。
コンテンツビューが公開されると、コンテンツ コラムのパッケージとエラータの数が公開前のリポジトリーと比べて少なくなります。これは、前年のセキュリティー以外のエラータがフィルターにより正常に除外されたためです。
- バージョン タブをクリックします。
- 公開バージョンの右側にある プロモート をクリックします。
- コンテンツビューのプロモート先の環境を選択します。
- 説明 フィールドに、プロモートの説明を入力します。
- バージョンのプロモート をクリックして、必要とされる環境全体に、このコンテンツビューバージョンをプロモートします。
CLI をご利用の場合
エラータのフィルターを作成します。
# hammer content-view filter create --name "Filter Name" \ --description "Exclude errata items from the YYYY-MM-DD" \ --content-view "CV Name" --organization "Default Organization" \ --type "erratum"
フィルタールールを作成して、指定の 開始日 以降のエラータすべてを除外します。
# hammer content-view filter rule create --start-date "YYYY-MM-DD" \ --content-view "CV Name" --content-view-filter="Filter Name" \ --organization "Default Organization" --types=security,enhancement,bugfix
コンテンツビューを公開します。
# hammer content-view publish --name "CV Name" \ --organization "Default Organization"
コンテンツビューをライフサイクル環境にプロモートし、そこに含まれるエラータをそのライフサイクル環境で利用できるようにします。
# hammer content-view version promote \ --content-view "CV Name" \ --organization "Default Organization" \ --to-lifecycle-environment "Lifecycle Environment Name"
10.4. 個別システムへのエラータの適用
以下の手順を使用して、エラータをレビューし、個別システムに適用します。
前提条件
- Red Hat から利用可能な最新のエラータと、Red Hat Satellite リポジトリーを同期します。詳細は、「Red Hat リポジトリーの同期」を参照してください。
- クライアントシステムを Satellite Server の環境とコンテンツビューに登録します。詳細情報は、「環境とコンテンツビューへのシステム登録」を参照してください。
-
クライアントシステムに
katello-agent
パッケージをインストールします。詳細情報は、『ホストの管理』ガイドの「Katello Agent のインストール」セクションを参照してください。
手順
- Satellite Web UI で、ホスト > コンテンツホスト に移動し、エラータを適用するホストを選択します。
- エラータ タブに移動してエラータのリストを表示します。
- 適用するエラータを選択し、Apply Selected (選択項目を適用) をクリックします。確認画面で、適用 をクリックします。
- 選択したエラータに関連付けられた全パッケージを更新するタスクが完了したら、詳細 タブをクリックして更新済みのパッケージを表示します。
CLI をご利用の場合
クライアントシステムの全エラータを一覧表示します。
# hammer host errata list \ --host client.example.com
クライアントシステムに最新のエラータを適用します。Errata ID を使用して適用するエラータを特定します。
# hammer host errata apply --host "Host Name" \ --errata-ids ERRATUM_ID1,ERRATUM_ID2...
10.5. 複数システムへのエラータの適用
以下の手順を使用して、エラータをレビューし、複数のシステムに適用します。
前提条件
- Red Hat から利用可能な最新のエラータと、Red Hat Satellite リポジトリーを同期します。詳細は、「Red Hat リポジトリーの同期」を参照してください。
- クライアントシステムを Satellite Server の環境とコンテンツビューに登録します。詳細情報は、「環境とコンテンツビューへのシステム登録」を参照してください。
-
クライアントシステムに
katello-agent
パッケージをインストールします。詳細情報は、『ホストの管理』ガイドの「Katello Agent のインストール」セクションを参照してください。
手順
- コンテンツ > エラータ に移動します。
- 適用するエラータ名をクリックします。
- コンテンツホスト タブをクリックします。
- エラータの適用先のシステムを選択し、Apply to Hosts (ホストへの適用) をクリックします。
- 確認 をクリックします。
CLI をご利用の場合
CLI には Web UI と同じツールがあるわけではありませんが、同様の手順を CLI コマンドで使用することができます。
インストール可能な全エラータを表示します。
# hammer erratum list \ --errata-restrict-installable true \ --organization "Default Organization"
使用するエラータを選択し、このエラータを適用可能なシステムを表示します。
# hammer host list \ --search "applicable_errata = ERRATUM_ID" \ --organization "Default Organization"
エラータを 1 つのシステムに適用します。
# hammer host errata apply \ --host client.example.com \ --organization "Default Organization" \ --errata-ids ERRATUM_ID1,ERRATUM_ID2...
各クライアントシステムに以下のコマンドを実行します。
$HOST
は、実行ごとにシステム名に置き換えます。# for HOST in `hammer \ --csv --csv-separator "|" host list \ --search "applicable_errata = ERRATUM_ID" \ --organization "Default Organization" | tail -n+2 | awk \ -F "|" '{ print $2 }'` ; do echo \ "== Applying to $HOST ==" ; hammer host errata apply \ --host $HOST --errata-ids ERRATUM_ID1,ERRATUM_ID2 ; done
このコマンドは、erratum_IDs を適用できるホストをすべて特定し、このエラータを各ホストに適用します。