linux - Rpm 规范文件。运行 yum groupinstall

标签 linux redhat rpm

下午好

我目前正在构建一个 RPM,它有一些我尚未在网上找到答案的要求。我已将其缩小为一个问题。

通常,当我从命令行运行安装时,其中一个步骤让我运行以下命令 yum groupinstall "Compatibility libraries",它会在我的 64 位桌面上安装 32 位兼容性库。我想知道是否有一种方法可以在我的 RPM 规范文件的 Requires: 字段中完成此操作,因为我只找到了一种方法来要求非常具体的 RPM依赖?

我总是可以添加使用 yum groupinstall "Compatibility Libraries" 安装的 10-15 个单独的软件包,但我希望有更好的选择。

RPM 说明: 我的 RPM 本质上是非常基本的。它将多个 tar 文件解压到不同位置,覆盖整个主安装目录中的文件,安装兼容性库,然后继续启动服务。

如果有人需要更多关于我正在努力完成的信息,请告诉我。谢谢。

最佳答案

您只能在 Requires: 行中要求特定的包,而不是组。你绝对不应该在你的 %post 脚本中运行 yum,因为那样 (a) 你会隐藏你的依赖关系,没有人喜欢看到他们没有安装的东西'出乎意料,并且 (b) 您可能最终会陷入困境,因为 %post 中的 yum 需要等待现有的 yum 进程退出。

对于 library Requires:,rpm 构建过程通常会为您解决问题。您仍然需要手动指定适当的 BuildRequires: 依赖项,它们是构建包所必需的。

如果您想用更多细节更新您的问题(例如,规范文件的链接和您尝试做的事情的描述,如果从规范中看不出来),也许我们可以想出更好的办法解决方案。

关于linux - Rpm 规范文件。运行 yum groupinstall,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35462431/

相关文章:

linux - 在linux中根据搜索列显示整行的命令?

linux - RPM - 签名后修改包

java - Raspberry pi - java - 串行通信

linux - 根据列排序命令 bash 对制表符分隔文件进行排序

c++ - Libmicrohttpd 的限制是什么?

linux - 用于查找文件系统使用情况的 Bash 脚本

linux - 硬件要求可以包含在 RPM 依赖信息中吗?如何?

linux - rpm.spec 文件中的多个 tar(源文件)文件

linux - 如何获取 RPM 包的源代码

java - 为什么 Java 安全点从未达到?线程挂起,安全点超时