我正在构建一个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 回答
您可以使用
%post
执行此操作,但%pre
在安装程序包之前运行,这意味着您的脚本尚不可用 .您可以将脚本打包到一个单独的RPM中,使其成为您希望在
%pre
部分中运行脚本的RPM的依赖项 . 这当然会有一个缺点,即卸载调用者-RPM不会删除脚本-RPM . 但它的确有效 .进一步阅读: