我有两个问题,我想找到一个解决方案:
我正在重命名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安装后运行脚本.有办法解决这个问题吗?
我唯一能想到的就是你将%pre中的内容复制到另一个位置的hack,然后在卸载另一个包时触发%触发它们.不是最好的形式,但它可能有效.还要求在卸载之前安装.