dnf-automatic で夜間に更新を自動化していますが、アップデート後に毎回不具合がおこるため、後から手作業で対応しているアプリケーション(パッケージ)がありました。
DNF post-transaction-actions Plugin を使って、アップデートの後処理を自動化したので記録しておきます。
環境
- OS:AlmaLinux release 9.6 (Sage Margay)
- ホスティング: ConoHa VPS(メモリ 2GB)
アップデートで発生する不具合
OpenLiteSpeed(1.8.4-6)
アップデート後にサービスを再起動しないと、ウェブサイトが 503 エラーで見られない状態になる事態が連続して発生しました。
Rspamd(3.13)
設定ファイル置き場(/etc/rspamd/local.d/)の所有者が root に変更され、Web GUI(_rspamd ユーザー)から設定の保存ができない。
DNF プラグインの設定
プラグインをインストールする前に、導入されている DNF 関連パッケージの一覧を確認しておきます。
1 2 3 | # dnf -v repolist Loaded plugins: builddep, changelog, config-manager, copr, debug, debuginfo-install, download, generate_completion_cache, groups-manager, kpatch, needs-restarting, notify-packagekit, playground, repoclosure, repodiff, repograph, repomanage, reposync, system-upgrade DNF version: 4.14.0 |
インストール
dnf-plugin-post-transaction-actions が入っていなかったので、インストールを実行します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | # dnf install python3-dnf-plugin-post-transaction-actions Dependencies resolved. ================================================================================================ Package Arch Version Repository Size ================================================================================================ Installing: python3-dnf-plugin-post-transaction-actions noarch 4.3.0-20.el9 baseos 17 k Transaction Summary ================================================================================================ Install 1 Package Total download size: 17 k Installed size: 14 k Is this ok [y/N]: y Downloading Packages: python3-dnf-plugin-post-transaction-actions-4.3.0-20.el9.noarch 1.4 MB/s | 17 kB 00:00 ------------------------------------------------------------------------------------------------ Total 27 kB/s | 17 kB 00:00 Running transaction check Transaction check succeeded. Running transaction test Transaction test succeeded. Running transaction Preparing : 1/1 Installing : python3-dnf-plugin-post-transaction-actions-4.3.0-20.el9.noarch 1/1 Running scriptlet: python3-dnf-plugin-post-transaction-actions-4.3.0-20.el9.noarch 1/1 Verifying : python3-dnf-plugin-post-transaction-actions-4.3.0-20.el9.noarch 1/1 Installed: python3-dnf-plugin-post-transaction-actions-4.3.0-20.el9.noarch Complete! |
アクションファイルの作成
post-transaction-actions プラグインがインストールされると、/etc/dnf/plugins/post-transaction-actions.d/ ディレクトリが作られます。
このディレクトリ内にアクションファイル(.action)を配置する事で設定を行います。
アクションの書式
コロン(:)で区切って、パッケージ名:トランザクションの状態:コマンド の順に記述します。
DNF post-transaction-actions Plugin — dnf-plugins-core 4.4.2-1 documentation
OpenLiteSpeed
openlitespeed が upgrade されたら、サービスを再起動します。
1 | openlitespeed:upgrade:systemctl restart lshttpd |
Rspamd
rspamd が upgrade されたら、設定用ディレクトリの所有権を変更します。
1 | rspamd:upgrade:chown _rspamd. /etc/rspamd/local.d/ |



コメント