【问题标题】:How to use the scripts already inside the RPM file as pre-install or post-install scripts如何将 RPM 文件中已有的脚本用作安装前或安装后脚本
【发布时间】:2016-06-04 08:43:32
【问题描述】:

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

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

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

【问题讨论】:

标签: rpm rpmbuild rpm-spec


【解决方案1】:

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

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

进一步阅读:

【讨论】:

    猜你喜欢
    • 2018-09-04
    • 1970-01-01
    • 2019-06-14
    • 2015-05-20
    • 2020-03-28
    • 1970-01-01
    • 1970-01-01
    • 2014-08-07
    • 2017-06-04
    相关资源
    最近更新 更多