VPSでAlmaLinux (8) ソフトウェアの更新

前回は、メールの基本的な設定を行った。
今回は、ソフトウェアの更新を行う。

インストールされたソフトは、常に更新して最新の状態を保っておきたい。
脆弱性が残ったままのシステムほど脆いものはない。

手動での更新

手動で更新するには、次のコマンドで。

$ sudo dnf -y update
 :
Complete!

定期更新

まず、自動更新用のモジュールをインストール。

$ sudo dnf -y install dnf-automatic
 :
Installed:

dnf-automatic-4.14.0-17.el9.alma.1.noarch

Complete!

そして、設定を少し変えておく。

$ sudo vi /etc/dnf/automatic.conf

デフォルトでは更新のダウンロードのみで、実際の更新はしてくれない。
でも、実際に更新をしてくれないと、手動アップデートとそれほど変わらないので、自動的にアップデートまでするように設定を変更する。

[commands]

# Whether updates should be applied when they are available, by
# dnf-automatic.timer. notifyonly.timer, download.timer and
# install.timer override this setting.
#apply_updates = no
apply_updates = yes

もし、再起動が必要なら、再起動も行う。

[commands]

# When the system should reboot following upgrades:
# never = don't reboot after upgrades
# when-changed = reboot after any changes
# when-needed = reboot when necessary to apply changes
#reboot = never
reboot = when-needed

そして、更新したらメールで知らせてもらう。

[commands]

# How to send messages. Valid options are stdio, email and motd. If
# emit_via includes stdio, messages will be sent to stdout; this is useful
# to have cron send the messages. If emit_via includes email, this
# program will send email itself according to the configured options.
# If emit_via includes motd, /etc/motd file will have the messages. if
# emit_via includes command_email, then messages will be send via a shell
# command compatible with sendmail.
# Default is email,stdio.
# If emit_via is None or left blank, no messages will be sent.
#emit_via = stdio
emit_via = mail

送信元のメールアドレスも設定しておく。

[email]

# The address to send email messages from.
#email_from = root@example.com
email_from = dnf@yourdomain.com

[command_email]

# The address to send email messages from.
#email_from = root@example.com
email_from = dnf@kgy.sin-cos.com

では、更新してもらうためのタイマーを動かそう。
自動起動の設定と同時に起動。

$ sudo systemctl enable --now dnf-automatic-install.timer
Created symlink /etc/systemd/system/timers.target.wants/dnf-automatic-install.timer → /usr/lib/systemd/system/dnf-automatic-install.timer.

タイマーの状態を確認。

[nori@kgy ~]$ sudo systemctl list-timers *dnf-*
NEXT LEFT LAST PASSED UNIT ACTIVATES
Wed 2025-03-12 14:07:09 JST 17min left Wed 2025-03-12 12:18:12 JST 1h 31min ago dnf-makecache.timer dnf-makecache.service
Thu 2025-03-13 06:36:53 JST 16h left Wed 2025-03-12 06:42:09 JST 7h ago dnf-automatic-install.timer dnf-automatic-install.service

2 timers listed.
Pass --all to see loaded but inactive timers, too.

サービスの状態を確認。

$ systemctl status dnf-automatic-install.timer
● dnf-automatic.timer - dnf-automatic timer
Loaded: loaded (/usr/lib/systemd/system/dnf-automatic-instal.timer; enabled; preset: disabled)
Active: active (waiting) since Wed 2025-03-19 00:30:09 JST; 2min 21s ago
Until: Wed 2025-03-19 00:30:09 JST; 2min 21s ago
Trigger: Wed 2025-03-19 06:43:59 JST; 6h left
Triggers: ● dnf-automatic-install.service

Mar 19 00:30:09 hostname systemd[1]: Started dnf-automatic-install timer.

更新のタイミングは、systemctl enableを実行した時に表示された次の設定ファイルを参照。

$ cat /etc/systemd/system/timers.target.wants/dnf-makecache.timer
[Unit]
Description=dnf makecache --timer
ConditionKernelCommandLine=!rd.live.image
# See comment in dnf-makecache.service
ConditionPathExists=!/run/ostree-booted
Wants=network-online.target

[Timer]
OnBootSec=10min
OnUnitInactiveSec=1h
RandomizedDelaySec=60m
Unit=dnf-makecache.service

[Install]
WantedBy=timers.target

起動10分後、それ以降1時間ごとに最大60分の遅延を経てファイル取得。

$ cat /etc/systemd/system/timers.target.wants/dnf-automatic-install.timer
[Unit]
Description=dnf-automatic-install 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

毎朝6時から最大60分経過後に更新される。

次回は、ホスト名の変更を行う。

お友達紹介プログラムを利用して契約すると10%OFFになるそうなので、
もしよろしければ次の画像をクリックしてみてください。

投稿一覧はこちら→「VPSでAlmaLinux

コメントを残す

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