从包含脚本

时间:2016-02-16 12:50:59

标签: rpm rpmbuild rpm-spec

我正在创建一个由单个脚本组成的rpm,其中(脚本)安装了一组rpms。 Rpm已成功创建,并以root用户身份进行安装时收到以下警告。如果我尝试手动执行脚本,则会成功安装rpm。

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

是否可以从rpm安装rpm。

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

2 个答案:

答案 0 :(得分:1)

您无法在rpm交易中拨打rpm。您必须让用户下载并运行脚本。

答案 1 :(得分:1)

正如Aaron所写,在程序包安装期间无法调用其他rpm操作(因为程序包数据库被锁定)。

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