Red Hat Training

A Red Hat training course is available for Red Hat Satellite

第8章 エラータの管理

Red Hat 製品のソフトウェアパッケージは、エラータと呼ばれる更新に依存します。これらのソフトウェアパッケージは一定期間ごとに、さらに非同期的に公開されます。本セクションでは hammer を使用してエラータを検出し、適用する方法を説明します。以下の手順を Web UI で行う場合は『コンテンツ管理ガイド』「エラータの管理」を参照してください。

8.1. 利用可能なエラータの検出

全組織で利用可能なエラータを表示するには、以下のコマンドを実行します。

$ hammer erratum list

例8.1 エラータのフィルタリング

hammer erratum list コマンドは出力一覧のフィルタリングおよび順序付けのオプションが数多く含まれています。たとえば、特定のセキュリティー修正が含まれるエラータを検索するには、以下のコマンドを実行します。

$ hammer erratum list --cve CVE-2014-0453

以下のコマンドを実行した時に、選択した製品に、指定したバグが含まれる場合に、適用可能なエラータが表示されます。このとき、セキュリティーエラータが一番上に表示されます。

$ hammer erratum list \
--product-id 7 \
--search "bug = 1213000 or bug = 1207972" \
--errata-restrict-applicable 1 \
--order "type desc"

--search オプションに使用する構文に関する情報は『コンテンツ管理ガイド』「利用可能なエラータの検出」を参照してください。hammer に実装されるフィルタリングオプションの詳細は hammer erratum list --help の出力を参照してください。

特定のエラータの詳細を表示するには、以下のコマンドを実行します。

$ hammer erratum info --id erratum_ID

erratum_ID は、hammer erratum list コマンドの出力にあるエラータの一意識別子に置き換えます。名前やリポジトリー名でエラータを特定することも可能です。詳しくは hammer erratum info --help の出力を参照してください。

8.2. ホストへのエラータの適用

ホストで利用可能なエラータを表示するには、以下のコマンドを実行します。

$ hammer host errata list --host hostname

選択したエラータをホストに適用するには、以下のコマンドを実行します。

$ hammer host errata apply \
--host hostname \
--errata-ids erratum_ID1,erratum_ID2...

例8.2 ホストへの全エラータの適用

以下の Bash スクリプトは、ホストで利用可能なエラータをすべて適用します (auth01.example.com)。

HOST="auth01.example.com"
for i in $(hammer --csv host errata list --host $HOST | grep -vi '^ID' | awk -F, {'print $2'})
do
  hammer host errata apply --host $HOST --errata-ids $i
done

例8.3 セキュリティーアドバイザリーの適用

以下の例は、hammer を使用してホストにセキュリティー修正を適用する方法を示します。

  1. 選択した問題の修正が含まれるエラータ (CVE-2015-3238) を検索します。

    $ hammer erratum list --cve CVE-2015-3238
    -------|----------------|----------|------------------------------
    ID     | ERRATA ID      | TYPE     | TITLE
    -------|----------------|----------|------------------------------
    f30e66 | RHSA-2015:1640 | security | Moderate: pam security update
    -------|----------------|----------|------------------------------
  2. セキュリティーエラータ (RHSA-2015:1640) が、お使いのホスト (auth01.example.com) に適用可能かどうかを確認します。

    $ hammer host errata list \
    --host auth01.example.com \
    --search "RHSA-2015:1640"
  3. ホストにエラータを適用します。

    $ hammer host errata apply \
    --host auth01.example.com \
    --errata-ids "RHSA-2015:1640"

以下の Bash スクリプトを使用すると、該当する場合にはセキュリティーエラータを全ホストに適用できます (例: RHSA-2015:1640)。

ORG="ACME"
RHSA="RHSA-2015:1640"

for i in $(hammer --csv host list --organization $ORG | grep -vi '^ID' | awk -F, {'print $2'})
do
  hammer host errata apply --host $i --errata-ids $RHSA
done

エラータが正しく適用されたことを確認するには、以下のコマンドの出力で適切なタスクを検索します。

$ hammer task list

選択したタスクの状態を確認するには、以下のコマンドを実行します。

$ hammer task progress --id task_ID

8.3. ホストコレクションへのエラータの適用

ホストコレクションに選択したエラータを適用するには、以下のようにコマンドを入力します。

$ hammer host-collection erratum install \
--errata "erratum_ID1,erratum_ID2,..." \
--name "my-collection" --organization $ORG

このコマンドは、Red Hat Satellite 6.2.8 以降で利用できます。