是否可以编写我们自己的rpm -e选项?

时间:2019-06-27 21:54:33

标签: rpm rpmbuild rpm-spec

我已经创建了一个rpm构建,它将在rpm安装过程中提取文件,然后运行自定义脚本来安装软件包。但是当我执行rpm -e选项时,它将仅删除rpm提取的文件,这不够好。如何编写rpm -e选项以运行自定义卸载脚本?

2 个答案:

答案 0 :(得分:0)

您可以编写自定义的%preun%postun脚本。

话虽如此,您在做什么是错误,而不是遵循RPM应该做什么的哲学。您几乎使管理员几乎无法验证系统上文件(rpm -V)的完整性,找出在系统上安装文件的文件(rpm -q --whatprovides)等等。请重新考虑。

答案 1 :(得分:0)

在正常情况下,文件是软件包生命周期的副产品(即日志文件,临时文件),在卸载期间,您可以使用%ghost指令删除这些文件。参见Directives For the %files list

在您的%files部分中,您将%ghost拥有这些其他文件。打包程序不会尝试将这些文件包含在rpm中,但是在卸载程序包时,它将识别所有权并相应地将其删除。

%files
%ghost /var/log/mylogfile.log