手当たり次第に書くんだ

飽きっぽいのは本能

CentOS 8 dnf-automatic を使用した自動更新

目次に戻る

概要

dnf-automaticを使用して日次で自動アップデートを行います。アップデートが発生した場合はメールで通知します。

前提条件

OS

CentOS Stream 8を使用します。

SELinux

有効です。無効にする場合はこちらを参照して下さい。

Firewalld

無効です。有効化する場合はこちらを参照して必要な許可設定をして下さい。

設定

インストール

dnf-automaticをインストールします。

[root@centos ~]# dnf install dnf-automatic

/etc/dnf/automatic.conf

/etc/dnf/automatic.confのデフォルト値

コメント行等を削除したautomatic.confは下記の通りです。

[commands]
upgrade_type = default
random_sleep = 0
network_online_timeout = 60
download_updates = yes
apply_updates = no

[emitters]
emit_via = stdio

[email]
email_from = root@example.com
email_to = root
email_host = localhost

[command]

[command_email]
email_from = root@example.com
email_to = root
[base]
debuglevel = 1

/etc/dnf/automatic.confの設定

automatic.confを下記のように編集します。[command]セクションは空の為、削除しています。[command_email]セクションはメール通知のコマンドラインをある程度指定できるようですが、[email]セクションと重複する設定値が存在する意味が良く分からないので削除しています。

[root@centos ~]# vi /etc/dnf/automatic.conf

[commands]
upgrade_type = default
random_sleep = 0
network_online_timeout = 60
download_updates = yes
apply_updates = yes

[emitters]
emit_via = email

[email]
email_from = root@myhost.si1230.com
email_to = myadmin@si1230.com
email_host = smtp.si1230.com

[base]
debuglevel = 1
[commands]セクション
apply_updates
アップデートの反映有無を設定します。デフォルトはnoでアップデートの確認までとなっている為、反映まで行いたい場合はyesに変更します。
[emitters]セクション
emit_via
アップデートの通知方法を設定します。デフォルトではstdioとなっており、stdioは標準出力です。emailに変更するとメール通知となります。
[email]セクション
email_from
送信元のメールアドレスを設定します。@以降はFQDNとしたほうがどのホストからの通知か分かりやすいですね。
email_to
宛先メールアドレスを設定します。
email_host
SMTPサーバーを設定します。

サービス起動設定

dnf-automaticはデフォルトで起動していません。下記のコマンドでdnf-automaticを起動します。

[root@centos ~]# systemctl enable --now dnf-automatic.timer
[root@centos ~]# systemctl status dnf-automatic.timer

その他

dnf-automaticはsystemdのtimerで制御されていますので、実行時間はsystemdの設定ファイルで確認できます。下記の通り毎日6時に実行されます。

[root@centos ~]# cat /etc/systemd/system/timers.target.wants/dnf-automatic.timer
[Unit]
Description=dnf-automatic timer
# See comment in dnf-makecache.service
ConditionPathExists=!/run/ostree-booted
Wants=network-online.target

[Timer]
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60m
Persistent=true

[Install]
WantedBy=timers.target

目次に戻る

CentOS 8 dnf-automatic を使用した自動更新

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る