dnf でupdateがある場合にemailで通知されるようにする
# dnf install dnf-automatic Last metadata expiration check: 2:34:37 ago on Tue 29 Jul 2025 08:02:25 AM JST. Dependencies resolved. ================================================================================ Package Architecture Version Repository Size ================================================================================ Installing: dnf-automatic noarch 4.14.0-25.el9 baseos 31 k Transaction Summary ================================================================================ Install 1 Package Total download size: 31 k Installed size: 57 k Is this ok [y/N]: y Downloading Packages: dnf-automatic-4.14.0-25.el9.noarch.rpm 121 kB/s | 31 kB 00:00 -------------------------------------------------------------------------------- Total 46 kB/s | 31 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : dnf-automatic-4.14.0-25.el9.noarch 1/1 Running scriptlet: dnf-automatic-4.14.0-25.el9.noarch 1/1 Verifying : dnf-automatic-4.14.0-25.el9.noarch 1/1 Installed: dnf-automatic-4.14.0-25.el9.noarch Complete!
vi /etc/dnf/automatic.conf download_updates = yes apply_updates = no reboot = never emit_via = email,stdio email_from = root@example.com email_to = root email_host = localhost ※事前にローカル経由でメールが外部に送信できるようにしておくこと
# cat /usr/lib/systemd/system/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 OnCalendar=Mon *-*-* 9:00 RandomizedDelaySec=60m Persistent=true [Install] WantedBy=timers.target
OnCalendar=Mon 9:00:00
のようにも書ける。
RandomizedDelaySec=
は設定した時間内で実行時間をずらす。
systemctl enable dnf-automatic.timer systemctl start dnf-automatic.timer
こんな感じで月曜日の朝にメールが来ます。というか今回perl関係が異常にありますね。なんかあった?これかな?
Updates downloaded on 'XXXXXX'. The following updates were downloaded on 'xxxxxx': ================================================================================ Package Arch Version Repository Size ================================================================================ Installing: kernel x86_64 5.14.0-570.30.1.el9_6 baseos 1.8 M kernel-core x86_64 5.14.0-570.30.1.el9_6 baseos 18 M kernel-modules x86_64 5.14.0-570.30.1.el9_6 baseos 39 M kernel-modules-core x86_64 5.14.0-570.30.1.el9_6 baseos 31 M Upgrading: kernel-headers x86_64 5.14.0-570.30.1.el9_6 appstream 3.3 M kernel-tools x86_64 5.14.0-570.30.1.el9_6 baseos 2.1 M kernel-tools-libs x86_64 5.14.0-570.30.1.el9_6 baseos 1.8 M libicu x86_64 67.1-10.el9_6 baseos 9.6 M libxml2 x86_64 2.9.13-11.el9_6 baseos 746 k libxml2-devel x86_64 2.9.13-11.el9_6 appstream 828 k perl x86_64 4:5.32.1-481.1.el9_6 appstream 11 k perl-Attribute-Handlers noarch 1.01-481.1.el9_6 appstream 26 k perl-AutoLoader noarch 5.74-481.1.el9_6 appstream 20 k perl-AutoSplit noarch 5.74-481.1.el9_6 appstream 20 k perl-B x86_64 1.80-481.1.el9_6 appstream 178 k perl-Benchmark noarch 1.23-481.1.el9_6 appstream 25 k perl-Class-Struct noarch 0.66-481.1.el9_6 appstream 21 k perl-Config-Extensions noarch 0.03-481.1.el9_6 appstream 11 k perl-DBM_Filter noarch 0.06-481.1.el9_6 appstream 30 k perl-Devel-Peek x86_64 1.28-481.1.el9_6 appstream 31 k perl-Devel-SelfStubber noarch 1.06-481.1.el9_6 appstream 13 k perl-DirHandle noarch 1.05-481.1.el9_6 appstream 11 k perl-Dumpvalue noarch 2.27-481.1.el9_6 appstream 17 k perl-DynaLoader x86_64 1.47-481.1.el9_6 appstream 24 k perl-English noarch 1.11-481.1.el9_6 appstream 12 k perl-Errno x86_64 1.30-481.1.el9_6 appstream 13 k perl-ExtUtils-Constant noarch 0.25-481.1.el9_6 appstream 45 k perl-ExtUtils-Embed noarch 1.35-481.1.el9_6 appstream 16 k perl-ExtUtils-Miniperl noarch 1.09-481.1.el9_6 appstream 14 k perl-Fcntl x86_64 1.13-481.1.el9_6 appstream 19 k perl-File-Basename noarch 2.85-481.1.el9_6 appstream 16 k perl-File-Compare noarch 1.100.600-481.1.el9_6 appstream 12 k perl-File-Copy noarch 2.34-481.1.el9_6 appstream 19 k perl-File-DosGlob x86_64 1.12-481.1.el9_6 appstream 18 k perl-File-Find noarch 1.37-481.1.el9_6 appstream 24 k perl-File-stat noarch 1.09-481.1.el9_6 appstream 16 k perl-FileCache noarch 1.10-481.1.el9_6 appstream 13 k perl-FileHandle noarch 2.03-481.1.el9_6 appstream 14 k perl-FindBin noarch 1.51-481.1.el9_6 appstream 13 k perl-GDBM_File x86_64 1.18-481.1.el9_6 appstream 21 k perl-Getopt-Std noarch 1.12-481.1.el9_6 appstream 14 k perl-Hash-Util x86_64 0.23-481.1.el9_6 appstream 33 k perl-Hash-Util-FieldHash x86_64 1.20-481.1.el9_6 appstream 36 k perl-I18N-Collate noarch 1.02-481.1.el9_6 appstream 13 k perl-I18N-LangTags noarch 0.44-481.1.el9_6 appstream 53 k perl-I18N-Langinfo x86_64 0.19-481.1.el9_6 appstream 21 k perl-IO x86_64 1.43-481.1.el9_6 appstream 85 k perl-IPC-Open3 noarch 1.21-481.1.el9_6 appstream 21 k perl-Locale-Maketext-Simple noarch 1:0.21-481.1.el9_6 appstream 16 k perl-Math-Complex noarch 1.59-481.1.el9_6 appstream 45 k perl-Memoize noarch 1.03-481.1.el9_6 appstream 55 k perl-Module-Loaded noarch 1:0.08-481.1.el9_6 appstream 12 k perl-NDBM_File x86_64 1.15-481.1.el9_6 appstream 21 k perl-NEXT noarch 0.67-481.1.el9_6 appstream 20 k perl-Net noarch 1.02-481.1.el9_6 appstream 24 k perl-ODBM_File x86_64 1.16-481.1.el9_6 appstream 21 k perl-Opcode x86_64 1.48-481.1.el9_6 appstream 35 k perl-POSIX x86_64 1.94-481.1.el9_6 appstream 95 k perl-Pod-Functions noarch 1.13-481.1.el9_6 appstream 12 k perl-Pod-Html noarch 1.25-481.1.el9_6 appstream 25 k perl-Safe noarch 2.41-481.1.el9_6 appstream 24 k perl-Search-Dict noarch 1.07-481.1.el9_6 appstream 12 k perl-SelectSaver noarch 1.02-481.1.el9_6 appstream 10 k perl-SelfLoader noarch 1.26-481.1.el9_6 appstream 20 k perl-Symbol noarch 1.08-481.1.el9_6 appstream 13 k perl-Sys-Hostname x86_64 1.23-481.1.el9_6 appstream 15 k perl-Term-Complete noarch 1.403-481.1.el9_6 appstream 12 k perl-Term-ReadLine noarch 1.17-481.1.el9_6 appstream 18 k perl-Test noarch 1.31-481.1.el9_6 appstream 27 k perl-Text-Abbrev noarch 1.02-481.1.el9_6 appstream 11 k perl-Thread noarch 3.05-481.1.el9_6 appstream 17 k perl-Thread-Semaphore noarch 2.13-481.1.el9_6 appstream 14 k perl-Tie noarch 4.6-481.1.el9_6 appstream 30 k perl-Tie-File noarch 1.06-481.1.el9_6 appstream 42 k perl-Tie-Memoize noarch 1.1-481.1.el9_6 appstream 13 k perl-Time noarch 1.03-481.1.el9_6 appstream 17 k perl-Time-Piece x86_64 1.3401-481.1.el9_6 appstream 39 k perl-Unicode-UCD noarch 0.75-481.1.el9_6 appstream 77 k perl-User-pwent noarch 1.03-481.1.el9_6 appstream 19 k perl-autouse noarch 1.11-481.1.el9_6 appstream 12 k perl-base noarch 2.27-481.1.el9_6 appstream 15 k perl-blib noarch 1.07-481.1.el9_6 appstream 11 k perl-debugger noarch 1.56-481.1.el9_6 appstream 132 k perl-deprecate noarch 0.04-481.1.el9_6 appstream 13 k perl-devel x86_64 4:5.32.1-481.1.el9_6 appstream 659 k perl-diagnostics noarch 1.37-481.1.el9_6 appstream 209 k perl-doc noarch 5.32.1-481.1.el9_6 appstream 4.5 M perl-encoding-warnings noarch 0.13-481.1.el9_6 appstream 15 k perl-fields noarch 2.27-481.1.el9_6 appstream 15 k perl-filetest noarch 1.03-481.1.el9_6 appstream 13 k perl-if noarch 0.60.800-481.1.el9_6 appstream 13 k perl-interpreter x86_64 4:5.32.1-481.1.el9_6 appstream 69 k perl-less noarch 0.03-481.1.el9_6 appstream 12 k perl-lib x86_64 0.65-481.1.el9_6 appstream 13 k perl-libnetcfg noarch 4:5.32.1-481.1.el9_6 appstream 15 k perl-libs x86_64 4:5.32.1-481.1.el9_6 appstream 2.0 M perl-locale noarch 1.09-481.1.el9_6 appstream 12 k perl-macros noarch 4:5.32.1-481.1.el9_6 appstream 9.3 k perl-meta-notation noarch 5.32.1-481.1.el9_6 appstream 8.3 k perl-mro x86_64 1.23-481.1.el9_6 appstream 27 k perl-open noarch 1.12-481.1.el9_6 appstream 15 k perl-overload noarch 1.31-481.1.el9_6 appstream 44 k perl-overloading noarch 0.02-481.1.el9_6 appstream 11 k perl-ph x86_64 5.32.1-481.1.el9_6 appstream 41 k perl-sigtrap noarch 1.09-481.1.el9_6 appstream 14 k perl-sort noarch 2.04-481.1.el9_6 appstream 12 k perl-subs noarch 1.03-481.1.el9_6 appstream 10 k perl-utils noarch 5.32.1-481.1.el9_6 appstream 54 k perl-vars noarch 1.05-481.1.el9_6 appstream 12 k perl-vmsish noarch 1.04-481.1.el9_6 appstream 13 k python3-libxml2 x86_64 2.9.13-11.el9_6 baseos 225 k sqlite-libs x86_64 3.34.1-8.el9_6 baseos 618 k Removing: kernel x86_64 5.14.0-570.25.1.el9_6 @baseos 0 kernel-core x86_64 5.14.0-570.25.1.el9_6 @baseos 68 M kernel-modules x86_64 5.14.0-570.25.1.el9_6 @baseos 36 M kernel-modules-core x86_64 5.14.0-570.25.1.el9_6 @baseos 28 M Transaction Summary ================================================================================ Install 4 Packages Upgrade 108 Packages Remove 4 Packages
その後、dnf updateをすると、dnf-automaticでダウンロードをする設定になっているので、ダウンロード済みのものが以下のようにSKIPされます。作業時間短縮!
[SKIPPED] kernel-5.14.0-570.30.1.el9_6.x86_64.rpm: Already downloaded [SKIPPED] kernel-modules-core-5.14.0-570.30.1.el9_6.x86_64.rpm: Already downloaded
【後で調べる】dnf-automatic/dnf-automatic.timerのサービス起動設定について
■dnf-4.14.0-25.el9
# systemctl status dnf-automatic
○ dnf-automatic.service - dnf automatic
Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.service; static)
Active: inactive (dead)
TriggeredBy: ● dnf-automatic.timer
# systemctl status dnf-automatic.timer
● dnf-automatic.timer - dnf-automatic timer
Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.timer; enabled; pres>
Active: active (waiting) since Tue 2025-07-29 12:06:44 JST; 1min 45s ago
Until: Tue 2025-07-29 12:06:44 JST; 1min 45s ago
Trigger: Wed 2025-07-30 06:51:09 JST; 18h left
Triggers: ● dnf-automatic.service
Jul 29 12:06:44 xxxxxx systemd[1]: Started dnf-automatic timer.
■dnf-4.7.0-21.el8_10
# systemctl status dnf-automatic
● dnf-automatic.service - dnf automatic
Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.service; static; vendo>
Active: inactive (dead)
# systemctl status dnf-automatic.timer
● dnf-automatic.timer - dnf-automatic timer
Loaded: loaded (/usr/lib/systemd/system/dnf-automatic.timer; enabled; vendor>
Active: active (waiting) since Tue 2025-07-29 11:56:51 JST; 12min ago
Trigger: Wed 2025-07-30 06:14:03 JST; 18h left
Jul 29 11:56:51 xxxxxx systemd[1]: Started dnf-automatic timer.
Does `dnf-automatic` need to be “manually” enabled? – Fedora Discussion
