Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

dnf-automaticでupdateがある時に通知する

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

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

タイトルとURLをコピーしました