我想创建具有可选依赖项的.rpm文件。IE如果由于缺少文件/网络问题而未安装“依赖项”,则整个RPM安装不应停止。而在http://www.rpm.org/wiki/PackagerDocs/Dependencies的“weakdependency”部分中声明它不受rpm规范支持。所以我想通过在“post”安装脚本中放置可选的依赖项包来实现周转方法。当我在postscript中包含“yum install”时,在执行时它将进入等待状态(没有消息),当我终止进程时,它将给出如下消息。

Non-fatal POSTIN scriptlet failure in rpm package
Another app is currently holding the yum lock; waiting for it to exit...
  The other application is: yum
    Memory :  71 M RSS (365 MB VSZ)
    Started: Wed Mar 18 13:17:45 2015 - 00:16 ago
    State  : Sleeping, pid: 3870

所需的软件包已正确安装,但在可选依赖项中出现此错误。
我认为这会导致死锁,因为两个yum进程都在等待其他进程的完成。
有没有更好的方法来解决RPM标准中的这种可选依赖性问题?

最佳答案

我将创建一个shell脚本,它可以满足您的需要,并且由于这个问题(package installtion issue , rpm spec file , which include yum to install dependence)将“yum”保留在spec文件之外。
在shell脚本(类似于任何install.sh脚本)中,让它检查可选的依赖项,并在需要时将其与本文中描述的RPM一起安装。

关于linux - rpm规范文件的安装后脚本中的yum/rpm install命令,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29116838/

10-14 14:27