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
の組み込みメール通知を有効にするには、以下を実行します。
選択した
yum-cron
設定ファイルを開きます。/etc/yum/yum-cron.conf
- 日次タスクの場合。
/etc/yum/yum-cron-hourly.conf
- 1 時間ごとのタスクの場合。
[emitters]
セクションで、以下のオプションを設定します。emit_via = email
-
必要に応じて、
email_from
、email_to
、email_host
オプションを指定します
9.7.3. 個別のリポジトリーの有効化または無効化
yum-cron
は、リポジトリーの特定の設定をサポートしません。yum
ではなく、yum-cron
で個別のリポジトリーを有効または無効にするには、以下の手順を行ってください。
- システムの任意の場所に空のリポジトリー設定ディレクトリーを作成します。
-
/etc/yum.repos.d/
ディレクトリーから、新たに作成したこのディレクトリーに設定ファイルをすべてコピーします。 /etc/yum.repos.d/
内の各.repo
設定ファイルで、以下のようにenabled
オプションを設定します。enabled = 1
- リポジトリーを有効にするには、以下を行います。
enabled = 0
- リポジトリーを無効にするには、以下を行います。
選択した
yum-cron
設定ファイルの最後に、新たに作成したリポジトリーのディレクトリーを指定する以下のオプションを追加します。reposdir=/path/to/new/reposdir
9.7.4. Yum-cron 設定のテスト
次に予定されている yum-cron
タスクを待たずに yum-cron
設定をテストするには、以下を行います。
選択した
yum-cron
設定ファイルを開きます。/etc/yum/yum-cron.conf
- 日次タスクの場合。
/etc/yum/yum-cron-hourly.conf
- 1 時間ごとのタスクの場合。
以下のように、選択した設定ファイルに
random_sleep
オプションを設定します。random_sleep = 0
設定を保存します。
# yum-cron /etc/yum/yum-cron.conf # yum-cron /etc/yum/yum-cron-hourly.conf
9.7.5. yum-cron メッセージの無効
yum-cron
メッセージを完全に無効にすることはできませんが、優先度が重大なメッセージだけに制限することはできます。メッセージを制限するには、以下を行います。
選択した
yum-cron
設定ファイルを開きます。/etc/yum/yum-cron.conf
- 日次タスクの場合。
/etc/yum/yum-cron-hourly.conf
- 1 時間ごとのタスクの場合。
設定ファイルの
[base]
セクションに以下のオプションを設定します。debuglevel = -4
9.7.6. パッケージの自動削除
yum-cron
サービスは、yum clean all
コマンドと同様に、パッケージを削除する設定オプションはサポートしていません。パッケージを自動的に削除するには、実行可能なシェルスクリプトとして cron ジョブを作成できます。
/etc/cron.daily/
ディレクトリーにシェルスクリプトを作成し、以下を追加します。#!/bin/sh yum clean all
スクリプトを実行可能にします。
# chmod +x /etc/cron.daily/script-name.sh