解決策を見つけたい2つの問題があります。
munin 2.0 パッケージの名前を変更し、RPM の SPEC ファイルで元の munin パッケージを廃止する必要があります。
既存の 1.x munin パッケージを munin-node の postun スクリプトレットの一部として置き換えると、munin ユーザーが削除されます。
postuninstall scriptlet (using /bin/sh):
if [ $1 -eq 0 ]; then
/usr/sbin/userdel munin || logger -t munin/rpm "User \"munin\" could not be deleted."
# /usr/sbin/groupdel munin || logger -t munin/rpm "Group \"munin\" could not be deleted."
fi
既存の munin 2.0 パッケージを置き換えると、postun によって plugins ディレクトリの内容が削除されます。
postuninstall scriptlet (using /bin/sh):
if [ "$1" = "0" ]; then
[ -d /etc/munin/plugins ] && \
find /etc/munin/plugins/ -maxdepth 1 -type l -print0 | \
xargs -0 rm || :
fi
yum は新しいパッケージをインストールしてから古いパッケージの投稿を実行するため、$1 = 0
どちらの場合も、rpm がインストールされた後にスクリプトが実行されます。これを回避する方法はありますか?