9 yum-cronインタフェースの使用によるシステムの最新状態の自動維持
yum updateコマンドを手動で実行して最新のセキュリティ・パッチおよび不具合修正でシステムを最新状態に保つかわりに、Oracle Linuxで追加パッケージとして提供されるyum-cronインタフェースを使用できます。このインタフェースを使用して、更新の自動通知を提供し、更新をダウンロードします。更新は、crontab
を使用して自動的にインストールできます。
使用を開始するには、ol7_latest
リポジトリからyum-cron
パッケージをインストールします。次に、サービスを有効にして開始し、更新を毎日チェックするようにします。
sudo yum install yum-cron sudo systemctl enable --now yum-cron.service
yum-cronインタフェースの動作をカスタマイズするには、/etc/yum/yum-cron.conf
を編集します。必要に応じて、様々なスケジュールで起動可能な代替構成ファイルを作成できます。Oracle Linuxでは、/etc/yum/yum-cron-hourly.conf
に代替構成ファイルも含まれています。デフォルトでは、yum-cronを実行すると、その構成が/etc/yum/yum-cron.conf
からロードされます。その実行時に代替構成が引数として提供された場合は例外です。
Oracle Linuxでは、yum-cron
のインストール時に、デフォルトで2つのcrontabエントリが作成されます。これらは、/etc/cron.daily/0yum-daily.cron
および/etc/cron.hourly/0yum-hourly.cron
にあります。日次のcrontabエントリでは、/etc/yum/yum-cron.conf
にあるデフォルト構成を使用してyum-cronが実行されます。毎時のcrontabエントリでは、/etc/yum/yum-cron-hourly.conf
にある代替構成を使用してyum-cronが実行されます。複数の構成エントリとcrontabエントリを作成することで、様々なyum更新操作が実行される頻度を制御できます。たとえば、yumリポジトリ・メタデータを毎時間更新し、重要なセキュリティ更新を毎日適用できます。残りすべての更新を毎週または毎月適用するように構成を作成することもできます。
構成ファイルでは、yum-cronで管理する更新の種類、更新を適用するかダウンロードのみにするか、および更新の通知方法を制御するために、様々なパラメータを構成できます。デフォルトの構成ファイルには、各設定の説明を提供するコメントが付けられています。次の設定は重要です。
-
update_cmd
このオプションは、yum- cronでダウンロードまたは適用される更新のタイプを制御します。次のオプションを使用できます。
- default
-
すべての更新をフェッチします。
- security
-
セキュリティ更新のみをフェッチします。
- security-severity:Critical
-
重大度がCriticalのセキュリティ更新のみをフェッチします。
- minimal
-
パッケージ更新情報バージョンの更新のみをフェッチします。
- minimal-security
-
セキュリティ更新のみとしてマークされたパッケージ更新情報バージョンをフェッチします。
- minimal-security-severity:Critical
-
重大度がCriticalのセキュリティ更新としてマークされたパッケージ更新情報バージョンをフェッチします。
更新を適用するための停止時間をスケジュールする必要がある基幹システムの場合、重大度
Critical
を指定することで、最小限のセキュリティ更新のみをインストールするようにyum-cronに指示できます。次に例を示します。update_cmd = minimal-security-severity:Critical
カーネル・パッチおよび更新のための予定停止時間を最小限に抑える場合は、Oracle Kspliceの使用も検討してください。詳細は、Oracle Linux: Kspliceユーザーズ・ガイドの「Kspliceについて」を参照してください。
-
apply_updates
デフォルトでは、yum-cronインタフェースは
download_updates
設定が指定されている場合、更新をダウンロードします。ただし、それらは適用されません。この動作を変更するには、次のようにapply_updates
設定を変更します。apply_updates = yes
-
exclude
特定のパッケージの更新を回避するには、
exclude
設定でワイルドカードを使用します。たとえば、カーネル更新を除外するには、この値を次のように設定します。exclude = kernel*
-
update_messages
新しい更新の通知を受信するかどうかを制御するには、この値を次のように設定できます。
update_messages = yes
-
emit_via
デフォルトでは、yum-cronは
stdio
に通知を出力するように構成されています。これは、メッセージが/var/log/cron
に出力されることを意味します。この値をNone
に設定するか、空のままにすると、通知を無効にできます。電子メール通知を受信する場合は、この値をemail
に設定できますが、後でこの構成内で[email]
設定も構成する必要があります。 -
[email]
yum-cronで、SMTPを使用してソフトウェア更新に関する電子メール通知を提供できます。これを有効にするには、
emit_via
構成値を設定します。この構成には、電子メール通知で使用する送信者アドレスと宛先アドレス、およびyum-cronでメールの送信に使用するSMTPサーバーなどの電子メール・パラメータを指定できるセクションが含まれています。たとえば、次のようにこれを構成できます。[email] email_from = server@example.com email_to = admin@example.com email_host = smtp.example.com
yum-cronの詳細は、yum-cron(8)
マニュアル・ページ、およびデフォルト構成ファイル内のコメントを参照してください。