RPM %postun 似乎根本没有效果

RPM %postun seems to have no effect at all

我目前正在尝试确保在永久删除 rpm 包后删除某些特定文件和文件夹。因此,为简单起见,我刚刚创建了一个文件 ~/sample.txt,以便在 post-卸载脚本中删除。 所以我的规范文件中有这一部分:

%postun

if [ "" = 0 ];
    then
    rm -f ~/sample.txt
fi

考虑到在我尝试删除包时拼写错误会收到警告,但即使已修复,postun 脚本似乎根本没有 运行,因此可以编译。我怀疑因为 rpm 没有创建 ~/sample.txt 文件,所以它也不能删除它。

注意:条件 if [ "" = 0 ]; 遵循 here 的建议以避免升级时删除。

安装或删除 rpm 软件包时,root 用户正在执行命令,因此 ~/sample.txt 将扩展为 /root/sample.txt

PS:对您在 pre/post/preun/postun 脚本中获得的参数的非常好的概述:https://docs.fedoraproject.org/en-US/packaging-guidelines/Scriptlets/