我有两个问题,我想找出解决方案:
我正在重命名munin 2.0软件包,在SPEC文件中我必须废弃原来的munin软件包。
当将现有的1.x munin软件包替换为munin-node的postun scriptlet的一部分时,它会删除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
的帖子,在这两种情况下,它将在安装rpms后运行脚本。有办法解决这个问题吗?
答案 0 :(得分:0)
我唯一能想到的就是将您%pre
中的内容复制到另一个位置,然后%trigger
卸载另一个包以将其放回原位。不是最好的形式,但它可能有效。还要求在卸载之前安装。