Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

9.7. yum-cron を使用したパッケージデータベースの自動更新および更新のダウンロード

yum-cron サービスがパッケージの更新を自動的に確認してダウンロードします。yum-cron が提供する cron ジョブは、yum-cron パッケージのインストール後すぐにアクティブになります。また、yum-cron サービスは、ダウンロードした更新を自動的にインストールできます。
yum-cron サービスのデフォルト設定では、以下を行います。
  • 1 時間ごとに yum cache のメタデータを更新。
  • yum cache で保留になっているパッケージの更新を 1 日 1 回ダウンロード。リポジトリーで新しいパッケージが利用可能になると、メールが送信されます。詳細は 「任意のメール通知の設定」 の章を参照してください。
yum-cron サービスには設定ファイルが 2 つあります。
/etc/yum/yum-cron.conf
日次タスクの場合。
/etc/yum/yum-cron-hourly.conf
1 時間ごとのタスクの場合。

9.7.1. 更新の自動インストールの有効化

ダウンロードした更新の自動インストールを有効にするには、日次設定ファイル (日次インストールの場合) または 1 時間単位の設定ファイル (1 時間ごとのインストールの場合) で apply_updates を以下のように設定します。
apply_updates = yes

9.7.2. 任意のメール通知の設定

デフォルトでは、yum-cron サービスは cron を使用して、実行したコマンドの出力を含むメール送信を行います。このメールは cron 設定に従って送信されますが、通常はローカルのスーパーユーザー、および /var/spool/mail/root ファイルに設定されているユーザーに送信されます。
すべての cron ジョブに影響する設定とは異なるメール設定を使用できますが、このメール設定は TLS をサポートしないため、メール全体に関するビルドインのロジックはごく基本的なものになります。
yum-cron のビルドインのメール通知を有効にするには、以下を行います。
  1. 選択した yum-cron 設定ファイルを開きます。
    /etc/yum/yum-cron.conf
    日次タスクの場合。
    /etc/yum/yum-cron-hourly.conf
    1 時間ごとのタスクの場合。
  2. [emitters] セクションで、以下のオプションを設定します。
    emit_via = email
  3. 必要に応じて、email_from オプション、email_to オプション、email_host オプションを設定します。

9.7.3. 個別のリポジトリーの有効化または無効化

yum-cron は、リポジトリーの特定の設定をサポートしません。yum ではなく、yum-cron で個別のリポジトリーを有効または無効にするには、以下の手順を行ってください。
  1. システムの任意の場所に空のリポジトリー設定ディレクトリーを作成します。
  2. /etc/yum.repos.d/ ディレクトリーから、新たに作成したこのディレクトリーに設定ファイルをすべてコピーします。
  3. /etc/yum.repos.d/ ディレクトリー内の各 .repo 設定ファイルで、以下のように enabled オプションを設定します。
    enabled = 1
    リポジトリーを有効にするには、以下を行います。
    enabled = 0
    リポジトリーを無効にするには、以下を行います。
  4. 選択した yum-cron 設定ファイルの最後に、新たに作成したリポジトリーのディレクトリーを指定する以下のオプションを追加します。
    reposdir=/path/to/new/reposdir

9.7.4. yum-cron 設定のテスト

次に予定されている yum-cron タスクを待たずに yum-cron 設定をテストするには、以下を行います。
  1. 選択した yum-cron 設定ファイルを開きます。
    /etc/yum/yum-cron.conf
    日次タスクの場合。
    /etc/yum/yum-cron-hourly.conf
    1 時間ごとのタスクの場合。
  2. 以下のように、選択した設定ファイルに random_sleep オプションを設定します。
    random_sleep = 0
  3. 設定ファイルを実行します。
    # yum-cron /etc/yum/yum-cron.conf
    # yum-cron /etc/yum/yum-cron-hourly.conf

9.7.5. yum-cron メッセージの無効

yum-cron メッセージを完全に無効にすることはできませんが、優先度が重大なメッセージだけに制限することはできます。メッセージを制限するには、以下を行います。
  1. 選択した yum-cron 設定ファイルを開きます。
    /etc/yum/yum-cron.conf
    日次タスクの場合。
    /etc/yum/yum-cron-hourly.conf
    1 時間ごとのタスクの場合。
  2. 設定ファイルの [base] セクションに以下のオプションを設定します。
    debuglevel = -4

9.7.6. パッケージの自動削除

yum-cron サービスは、yum clean all コマンドと同様に、パッケージを削除する設定オプションはサポートしていません。パッケージを自動的に削除するには、実行可能なシェルスクリプトとして cron ジョブを作成できます。
  1. /etc/cron.daily/ ディレクトリーにシェルスクリプトを作成し、以下を追加します。
    #!/bin/sh
    yum clean all
  2. スクリプトを実行可能にします。
    # chmod +x /etc/cron.daily/script-name.sh