年度末にAlmalinuxに変えてから更新すること多いんだけど?
CentOS8のときは前任者が自動アップデートにしていたみたいだけど、Almalinuxになってその設定が消えた?っぽい。
ここ最近毎日アプデしろしろとメールがうるさいので、この期に自動アップデートに変えることにした。
dnf-automaticの導入と自動更新設定
ここ(https://installati.one/almalinux/8/dnf-automatic/
とか
ここ(https://ex1.m-yabe.com/archives/6276
とか
ここ(https://aulta.co.jp/archives/7685
を参考にしたところ、dnf-automaticというのを入れれば自動アプデしてくれるみたい。
筆者はdnfコマンドがなぜか効かなかったのでyumでインストールすることに。(dnfでもyumでインストールできるんか)
あと筆者はrootで実行()しているので、rootじゃない人はsudoで実行してください。
yum install dnf-automatic
インストールされると/etc以下のディレクトリに/dnf/automatic.confというconfファイルができるので、ここで設定をいじる。
vi /etc/dnf/automatic.conf
でファイルに入り、
[commands]以下の
download_updates とapply_updateをyesにする。
アップデートの確認でメールを受け取りたい場合は
ここ(https://ex1.m-yabe.com/archives/6276
を参考に[emitters]と[command_email]も設定した方がよい。
サービスの自動起動と実行タイミングの設定
これだけだとdnf-automaticは動いてないので、以下のコマンドで自動起動に登録&サービスを起動する。
自動起動に登録する。
systemctl enable --now dnf-automatic.timer
サービスを起動する。
systemctl start dnf-automatic.timer
いつ実行するかを設定したい場合は
cat /etc/systemd/system/multi-user.target.wants/dnf-automatic.timer
か、
cat /etc/systemd/system/timers.target.wants/dnf-automatic.timer
を確認するといい。
ここの違いはよくわからないけど、multi-userの場合はファイル内の[Timer]のところが
OnBootSec=1h
OnUnitInactiveSec=1d
RandomizedDelaySec=5m
AccuracySec=1s
となっていて、これだとtimer起動して1時間後に実行→毎日同じ時間に起動される。
で、timersの場合はファイル内の[Timer]のところが
OnCalendar=*-*-* 6:00
RandomizedDelaySec=60m
Persistent=true
となっていて、毎日6時に起動するよ、となっている。
よくわからんけど、dnf-automaticをenableにしたときに出るアドレスと対応するところを確認してください。
こんな感じでした。