【问题标题】:Install set of rpm's from an rpm which consists a script从包含脚本的 rpm 安装一组 rpm
【发布时间】:2016-02-16 12:50:59
【问题描述】:

我正在创建一个包含单个脚本的 rpm,该脚本(脚本)安装了一组 rpm。 RPM 已成功创建,并且在以 root 用户身份安装时,收到以下警告。如果我尝试手动执行脚本,则 rpm 已成功安装。

warning: waiting for transaction lock on /var/lib/rpm/.rpm.lock

是否可以从 rpm 安装 rpm。

环境:
操作系统:RHEL-6.5
RPM 版本 4.8.0

【问题讨论】:

    标签: rpm rpmbuild rpm-spec


    【解决方案1】:

    您不能在 rpm 事务中调用 rpm。您必须让用户下载并运行脚本。

    【讨论】:

    • 我正在 rpm 中执行一个脚本,而该脚本又直接执行了 rpm 命令。那么这适用于执行 rpm 命令的脚本吗?
    • 是的,你不能那样做。
    【解决方案2】:

    正如 Aaron 所写,您不能在软件包安装期间调用其他 rpm 操作(因为软件包 db 已锁定)。

    为此,您可以创建 metapackages,它们是空的,只是依赖于其他包,或者您可以定义 group packages 来安装一组包。 为了创建元包,只需创建一个不安装任何东西的 .spec 文件,但在其Requires: 字段中列出了您实际想要安装的包。如果需要,您可以在 %pre%post 脚本中向用户打印一条消息以解释正在发生的事情。

    【讨论】:

      猜你喜欢
      • 2012-12-15
      • 2020-03-28
      • 1970-01-01
      • 2019-11-02
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      相关资源
      最近更新 更多