为 RH 的特定次要版本构建 RPM

为 RH 的特定次要版本构建 RPM

我需要为 RH 的特定次要版本构建 RPM,以便它仅安装在该次要版本(例如 RHEL 6.4)上,而不安装在 RHEL 6.6 等其他次要版本上。

此外,当 rpm/yum 在不适合的平台(上例中的 RHEL 6.6)上安装此 pkg 时,安装应继续以安装其余的 pkg。

我查看了一下,/usr/lib/rpm/rpmrc但找不到任何可以使用的东西。

答案1

使用 rpm%pre脚本(参见http://www.rpm.org/max-rpm/s1-rpm-inside-scripts.html)您可以在rpm安装之前检查系统(例如/etc/redhat-release file)。但我认为你除了让安装失败之外别无他法。

在不需要的系统上跳过安装的一种可能方法是构建 rpm,将已安装的文件放入临时文件夹中。然后%post安装脚本可以检查系统版本,并在需要时将文件复制到正确的位置。您必须使用%preun或脚本确保卸载也能正确运行%postun

答案2

您可以为您的 redhat-release 软件包添加一个 Requires: ,并指定特定版本,例如 6.4。

我会检查 redhat-release RPM 的所有元数据,看看哪些是合适的

相关内容