CentOS8 DNF-Automatic で自動アップデートを利用する

ガジェット系から技術系ブログになりつつある当ブログですが, 今回は CentOS8 環境下における自動アップデートの設定をしていきましょう.

スポンサーリンク

DNF における自動アップデート

CentOS8 からはパッケージ管理が従来の yum コマンドから dnf コマンドに変更になりました.

そのため CentOS7 まで自動アップデートに使っていた Yum-Cron ではなく, DNF-Automatic を使用して自動でのパッケージアップデートを行う必要があります. (Yum-Cron が使用不可なのかは未検証)

dnf.conf でアップデート対象からカーネルを除外

DNF でのアップデートの際, パッケージ等だけでなくカーネルまで更新されてしまうことを防ぐために設定を行います.

不用意にカーネルを更新すると最悪カーネルパニックなどで起動すらできなくなる等の問題が発生する潜在的なリスクがあります.

確かに最近はカーネルパニックに遭遇することはかなり減りましたが, 安定稼働が求められるサーバーだからこそ設定を行いましょう.

お好きなエディタで/etc/dnf/dnf.confを開きます

# nano /etc/dnf/dnf.conf

適当な場所に追記

exclude=kernel*

DNF-Automatic のインストール

ここからは実際にアップデートを行ってくれる DNF-Automatic をインストールしていきます.

dnf install dnf-automatic

DNF-Automatic の設定

お好きなエディタで/etc/dnf/automatic.confを開きます

# vim /etc/dnf/automatic.conf

アップデートタイプの設定

デフォルトは default ですべての種類のアップデートがインストールされます.

security に設定すると重要なセキュリティアップデートのみがインストールされるはずのようですが, これには問題があります(後述).

upgrade_type = default

アップデートの自動インストール

デフォルトではダウンロードしたアップデートを自動ではインストールしない設定になっています.

アップデートを自動化する今回の目的には適合しませんから yes に変更します

apply_updates = yes

アップデート確認の間隔

デフォルトでは起動後10分後に確認を行い, 1時間間隔で自動確認するようになっています.

これ以上遅くする必要も速くする必要も恐らくないと思いますが変更が必要な場合はこちらにコンフィグがあります.

nano /etc/systemd/system/multi-user.target.wants/dnf-makecache.timer

サービス有効化, 起動

いつものおまじないです.

# systemctl enable dnf-automatic.timer
# systemctl start dnf-automatic.timer

アップデート種別での Security は使えない可能性

CentOS Linux では dnf コマンドで –security オプションが使えない

dnf コマンドの --security オプションdnf コマンドには dnf upgrade などでパッケージを更新する際に、セキュリティ修正があるパッケージのみを対象とする --securi…

こちらの記事にありますが, CentOS では dnf コマンドの –security オプションが利用できないようです.

–security オプションは, dnf upgrade でセキュリティアップデートのみをインストールするものですが, CentOS ではこれを使用できません. (RHELは可能)

そのため, dnf コマンドを自動実行しているだけに過ぎない DNF-Automatic の upgrade-type:security は使用できない可能性が非常に高いです.

スポンサーリンク