在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的依赖检查没有失败。
答案 0 :(得分: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
答案 1 :(得分:0)
我建议不要求特定版本的RHEL,而是要求只出现在目标版本中的依赖项(例如RHEL 6.3)
以下不仅会导致您提到的问题,还会阻止客户端和工作站用户的安装(6Client
和6Workstation
)
Requires: redhat-release-server-6Server >= 6.3