1

在 RPM 规范文件中,要求最小 RHEL 分布的好方法是什么?我尝试使用以下方法将 RHEL 6.3 作为先决条件:

Requires: redhat-release-server-6Server >= 6.3

这会阻止 6.2 和 6.3 上的安装:

error: Failed dependencies:
    redhat-release-server-6Server >= 6.3 is needed by my.package-1.2.0-0.x86_64

我也试过:

Requires: redhat-release >= 6.3

在 6.2 或 6.3 上的依赖检查都没有失败。

4

2 回答 2

2

redhat-release-server-6Server-6.3.0.3.el6.x86_64(在我的系统上)似乎是一个很好的先决条件。请参阅http://rhn.redhat.com/errata/RHEA-2012-0971.html。对于查看软件包名称的新手来说,不明显的是“6Server”实际上是软件包版本。但是,“rpm -q --info”可以清楚地说明这一点:

$ rpm -q redhat-release-server-6Server --info
Name        : redhat-release-server        Relocations: (not relocatable)
Version     : 6Server                           Vendor: Red Hat, Inc.
Release     : 6.3.0.3.el6                   Build Date: Wed 30 May 2012 11:19:03 AM PDT
Install Date: Tue 02 Oct 2012 09:48:26 AM PDT      Build Host: x86-003.build.bos.redhat.com
Group       : System Environment/Base       Source RPM: redhat-release-server-6Server-6.3.0.3.el6.src.rpm
Size        : 38585                            License: GPLv2
Signature   : RSA/8, Wed 30 May 2012 12:19:55 PM PDT, Key ID 199e2f91fd431d51
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
Summary     : Red Hat Enterprise Linux Server release file
Description :
Red Hat Enterprise Linux Server release files

所以正确的指令是:

Requires: redhat-release-server >= 6Server-6.3
于 2012-11-15T19:08:28.533 回答
0

我建议不要要求特定版本的 RHEL,而是要求仅出现在目标版本中的依赖项(例如 RHEL 6.3)

以下不仅会导致您提到的问题,还会阻止客户端和工作站用户(6Client6Workstation)的安装

Requires: redhat-release-server-6Server >= 6.3
于 2014-05-28T04:01:16.470 回答