【问题标题】:Rpm-spec file. running yum groupinstallrpm 规格文件。运行 yum groupinstall
【发布时间】:2016-02-18 01:12:39
【问题描述】:

下午好,

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

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

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

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

如果有人需要更多关于我想要完成的工作的信息,请告诉我。谢谢。

【问题讨论】:

    标签: linux redhat rpm


    【解决方案1】:

    您只能在 Requires: 行中要求特定的包,而不是组。你绝对不应该在你的%post 脚本中运行yum,因为那样(a)你隐藏了你的依赖,没有人喜欢看到他们没有预料到的东西被安装,并且(b)你可能会结束卡住了,因为%post 中的yum 需要等待现有的yum 进程退出。

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

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

    【讨论】:

    • 嗯,您所写的内容几乎巩固了我的知识。根据我收集到的信息,最好在我的 RPM 中包含一个%pre 部分,以安装“兼容性库”。您提到%post 中的yum 可能会在等待第一个yum 时卡住。有没有办法克服这个你能想到的?
    • 澄清一下,我的 RPM 会放置几个 tar 文件,安装兼容库,然后启动几个进程。我无法发布我的规格文件。除了通过这个 rpm 安装我的兼容性库之外,我已经可以完成所有工作
    • 如果我可以在规范文件的 `Requires: 部分中安装“兼容性库”,这将完美运行。
    猜你喜欢
    • 2015-05-20
    • 1970-01-01
    • 2013-09-18
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    相关资源
    最近更新 更多