第9章 エラータの管理

Red Hat では、品質管理およびリリースプロセスの一部として、お客様に Red Hat RPM の公式リリースのアップデートを提供しています。Red Hat では、アップデートを説明するアドバイザリーと共に、関連パッケージのグループを エラータ にコンパイルします。アドバイザリーには以下の 3 種類があります (重要度の高い順)。

セキュリティーアドバイザリー
パッケージで見つかったセキュリティー問題のフィクスを説明。セキュリティー問題の重大度のレベルは、低、中、重要、重大に分かれています。
バグ修正アドバイザリー
パッケージのバグ修正を説明。
製品の機能強化アドバイザリー
パッケージに追加された機能強化および新機能を説明。

Red Hat Satellite 6 は、リポジトリーを Red Hat の Content Delivery Network (CDN) と同期する際にこれらのエラータをインポートします。Red Hat Satellite 6 ではエラータ検証しフィルタリングするためのツールも提供しており、アップデートの管理が正確にできます。このようにして関連のあるアップデートを選択し、コンテンツビューから選択したコンテンツホストに伝達することができます。

Red Hat Satellite では、エラータと利用可能なコンテンツホストとの関係を表す 2 つのキーワードがあります。

適用可能
エラータは 1 つ以上のコンテンツホストに適用されます。つまり、コンテンツホストにあるパッケージが更新されます。「適用可能」なエラータは、コンテンツホストがアクセスできる段階にはありません。
インストール可能
エラータは 1 つ以上のコンテンツホストに適用され、コンテンツホストで利用可能になっています。インストール可能なエラータはコンテンツホストのライフサイクル環境とコンテンツビューに存在しますが、インストールはされていません。このためエラータは、コンテンツホストを管理するパーミッションがあるものの、より高いレベルでのエラータ管理の権限がないユーザーによるインストールが可能になっています。

本章では、エラータの管理方法とシステムへの適用方法について説明します。

重要

Satellite に登録したホストに katello-agent パッケージをインストールしてください。このパッケージはエラータ管理に必要なサービスを提供します。

9.1. コンテンツビューによるエラータ管理

Red Hat Satellite 6 では、エラータの管理と適用のために多様な方法を提供しています。「コンテンツフィルターの定義」 で説明したように、コンテンツビューとコンテンツフィルターを使ってエラータを制限することができます。フィルターには以下のものがあります。

  • ID - リポジトリーに許可する特定のエラータを選択するフィルターを作成します。
  • 日付の範囲 - 日付の範囲を定義して、その範囲内にリリースされたエラータを組み込みます。
  • タイプ - バグ修正、機能強化、セキュリティーなどのエラータのタイプを選択して組み込みます。

ここでは例として、特定日より後のエラータを除外するコンテンツフィルターを作成します。これにより、アプリケーションライフサイクルの実稼働システムがある時点まで最新に保たれたことになります。その後にこのフィルターの開始日を変更し、テスト環境に新たなエラータを導入します。こうすることで、新パッケージにアプリケーションライフサイクルとの互換性があるかどうかをテストすることができます。

コンテンツフィルターの作成方法については、「コンテンツフィルターの作成」 を参照してください。

コンテンツビューにエラータが含まれたら、これをシステムに適用することができます。Red Hat Satellite 6 に登録した各システムにはエラータ管理画面があり、複数のエラータをシステムに適用することができます。Red Hat Satellite 6 にはエラータを検索、レビューして、複数のシステムに適用するエラータ管理機能もあります。

9.2. 個別システムへのエラータの適用

この手順では、エラータをシステムに適用します。これは 「アクティベーションキーの使用」 からの続きで、テスト用 Red Hat Enterprise Linux 7 システムをご自分の Satellite サーバーに登録していることを前提としています。この例では、以下のエラータを適用します。

Errata ID:   RHSA-2016:0008
Title:       Moderate: openssl security update
Type:        security
Severity:    Moderate
Issued:      2016-01-07
Updated:     2016-01-07
Description: OpenSSL is a toolkit that implements the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols, as well as a full-strength, general purpose cryptography library.

Web UI をご利用の場合

ホスト > コンテンツホスト に移動してテストするシステムをクリックします。エラータ タブに移動します。「コンテンツフィルターの作成」 で設定したフィルターにより、セキュリティーエラータの一覧が表示されます。

OpenSSL のエラータを適用していきます。検索ボックスに title ~ openssl と入力します。これでタイトルに openssl が含まれるエラータが検索されます。RHSA-2016:0008 エラータを選択し、選択を適用 をクリックします。確認メッセージが表示されるので、適用 をクリックします。

Satellite Server は、選択したエラータに関連する全パッケージの更新タスクを開始します。タスクが完了すると、詳細 セクションに更新されたパッケージとその新バージョンの一覧が表示されます。例を示します。

1:openssl-1.0.1e-51.el7_2.2.x86_64
1:openssl-libs-1.0.1e-51.el7_2.2.x86_64

クライアントシステムにログインし、エラータの更新を確認します。

[root@client ~]# yum list openssl openssl-libs

CLI をご利用の場合

クライアントシステムの OpenSSL エラータを一覧表示します。

# hammer host errata list \
--host client.example.com \
--search "title ~ openssl" \
--organization "ACME"

クライアントシステムに最新のエラータを適用します。Errata ID を使用して適用するエラータを特定します。

# hammer host errata apply \
--host client.danssat.net \
--errata-ids RHSA-2016:0008 \
--organization "ACME"

クライアントシステムにログインし、エラータの更新を確認します。

[root@client ~]# yum list openssl openssl-libs

9.3. 複数システムへのエラータの適用

Red Hat Satellite 6 Web UI には、複数のシステムを確認してそれらにエラータを適用するエラータ管理システムがあります。この例では、「個別システムへのエラータの適用」 と同じエラータ (RHSA-2016:0008) を使用します。

Web UI をご利用の場合

コンテンツ > エラータ に移動します。これで同期リポジトリーからの全エラータが表示されます。また、コンテンツホスト数 では、各エラータを適用、インストール可能な登録済みホストの数が表示されます。

単一の OpenSSL エラータをこのツールを使ってシステムに適用します。検索ボックスに title ~ openssl と入力します。これで OpenSSL に関連する全エラータが表示されます。これにはバグ修正や機能拡張が含まれますが、「コンテンツフィルターの作成」 で作成したフィルターのために、Satellite Server はこれらのエラータはテストシステムにはインストールできないことに注意してください。

最新の OpenSSL エラータをクリックします。この例では RHSA-2016:0008 になります。

このエラータの 詳細 画面が表示され、エラータが解決する問題の説明が提示されます。

コンテンツホスト のサブタブに移動すると、このエラータが適用可能な全システム一覧が表示されます。「エラータが現在ホストのライフサイクル環境でインストール可能なコンテンツホストのみを表示します。」を選択し、エラータのインストール可能なシステムのみに制限します。

テストシステムを選択して、ホストに適用 をクリックします。エラータインストールに関する確認画面が表示されます。確定します をクリックします。

Satellite Server は、選択したシステム用のエラータのパッケージ更新を開始します。タスクが完了したら、クライアントシステムにログインしてエラータ更新を確認します。

[root@client ~]# yum list openssl openssl-libs

CLI をご利用の場合

CLI には Web UI と同じツールがあるわけではありませんが、同様の手順を CLI コマンドで使用することができます。

全 OpenSSL エラータを一覧表示します。

# hammer erratum list --search "title ~ openssl" --organization "ACME"

インストール可能なエラータに限定するようにします。

# hammer erratum list \
--errata-restrict-installable true \
--search "title ~ openssl" --organization "ACME"

このエラータの詳細を表示します。

# hammer erratum info --id RHSA-2016:0008

このエラータを適用可能なシステムを一覧表示します。

# hammer host list \
--search "applicable_errata = RHSA-2016:0008" \
--organization "ACME"

エラータを単一のシステムに適用します。

# hammer host errata apply \
--host client.example.com \
--errata-ids RHSA-2016:0008

これらのコマンドは各システムごとに実行する必要があり、--host はそのシステム名で置き換えます。以下のコマンドでこれを実行できます。

# for HOST in `hammer \
--csv --csv-separator "|" host list \
--search "applicable_errata = RHSA-2016:0008" \
--organization "ACME" | tail -n+2 | awk \
-F "|" '{ print $2 }'` ; do echo \
"== Applying to $HOST ==" ; hammer host errata apply \
--host $HOST --errata-ids RHSA-2016:0008 ; done

このコマンドは RHSA-2016:0008 を適用可能なホストすべてを特定し、このエラータを各ホストに適用します。

クライアントシステムにログインし、エラータの更新を確認します。

[root@client ~]# yum list openssl openssl-libs

9.4. 章の概要

本章では、Red Hat Satellite 6 でエラータを管理してシステムに適用する方法について説明しました。

次章では、Red Hat Satellite 6 におけるコンテナー管理について説明します。