我正在创建一个由单个脚本组成的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
答案 0 :(得分:1)
您无法在rpm
交易中拨打rpm
。您必须让用户下载并运行脚本。
答案 1 :(得分:1)
正如Aaron所写,在程序包安装期间无法调用其他rpm操作(因为程序包数据库被锁定)。
为此,您可以创建元数据包,它们是空的,只是依赖于其他包,或者您可以定义组包来安装一组包。
要创建元数据包,只需创建一个不安装任何内容的.spec文件,但在其Requires:
字段中列出您实际要安装的软件包。如果需要,您可以在%pre
或%post
脚本中向用户打印一条消息,说明正在发生的事情。