rpm 规范文件的安装后脚本中的 yum/rpm install 命令
Posted
技术标签:
【中文标题】rpm 规范文件的安装后脚本中的 yum/rpm install 命令【英文标题】:yum/rpm install command in post install script of rpm spec file 【发布时间】:2015-05-20 22:18:02 【问题描述】:我想创建带有可选依赖项的 .rpm 文件。即,如果由于缺少文件/网络问题而未安装“依赖项”,则整个 rpm 安装不应停止。 而在http://www.rpm.org/wiki/PackagerDocs/Dependencies 的“弱依赖”部分中声明它不受RPM 规范的支持。所以我想通过将可选的依赖包放在“post”安装脚本中来做周转方法。当我在后记中包含“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 标准中这种类型的可选依赖问题?
【问题讨论】:
您应该包含当前的 SPEC 文件或至少包含 %post 部分。 这里我的 rpm 依赖于 Python,而我希望它弱依赖于 python-pip。Requires: python %post yum install python-pip
我相信您遇到了这个问题:***.com/questions/20989908/… -- 不知道如何解决它。会再看一遍。
【参考方案1】:
由于这个问题 (package installtion issue , rpm spec file , which include yum to install dependence),我将创建一个 shell 脚本来满足您的需求,并在您的规范文件中保留“yum”。
在 shell 脚本(类似于任何 install.sh 脚本)中,让它检查可选依赖项,并在需要时将它们与您帖子中描述的 RPM 一起安装。
【讨论】:
以上是关于rpm 规范文件的安装后脚本中的 yum/rpm install 命令的主要内容,如果未能解决你的问题,请参考以下文章