如何使用RPM文件中已有的脚本作为预安装或安装后脚本

时间:2016-02-22 19:09:02

标签: rpm rpmbuild rpm-spec

我正在构建一个RPM包,它打包包含属性文件,配置文件,脚本,JAR等的各种文件。 现在在编写%pre,%post,%preun和%postun scritptlets时,我需要使用我所说的脚本/文件夹(已经用RPM打包)中的一些脚本。 所以,我希望能够做到这样的事情:

%pre
export scripts/important.sh
someFunctionFromImportant parameter
%post
. scripts/anotherScript.sh
someFuncFromAnotherScript parameters

现在,因为我希望能够在任何系统上复制粘贴此RPM并只安装它,并且必须运行%pre%post脚本。 我已经经历了这么多教程,仍在寻找实现这一目标的方法。 注意:我的要求不允许我在安装RPM的系统上已经存在这些脚本。就像从RPM文件本身一样,一切都应该干净利落,安装以及安装前后脚本。

1 个答案:

答案 0 :(得分:1)

您可以使用%post执行此操作,但在安装软件包之前,%pre仅运行,这意味着您的脚本尚不可用。

您可以将脚本打包到一个单独的RPM中,使其成为您要在%pre部分中运行脚本的RPM的依赖项。这当然会有一个缺点,即卸载caller-RPM不会删除脚本-RPM。但它确实有效。

进一步阅读: