【问题标题】:How to check os version in rpmbuild spec file如何在 rpmbuild 规范文件中检查操作系统版本
【发布时间】:2016-01-21 18:19:20
【问题描述】:

我正在构建一个需要检查操作系统版本的 rpm。如果是 rhel5 或 rhel6,那么它会工作,否则它将停止。 请指教我该怎么做。

感谢和问候。

【问题讨论】:

标签: linux rpm


【解决方案1】:

您可以使用https://unix.stackexchange.com/questions/9296/how-can-i-specify-os-conditional-build-requirements-in-an-rpm-spec-file 然而,这只决定了构建时包内部的内容。而且你仍然可以在 el5 上安装 el6 包,反之亦然。

所以如果你想在实际安装过程中决定,你需要解析 /etc/os-release(IIRC 只存在于 el7+)或 /etc/redhat-release。

【讨论】:

    【解决方案2】:

    使用uname 命令和解析信息的另一种替代用法

    节省时间执行以下操作:

    uname -r | cut -d '.' -f6
    

    这在 RHEL 6 和 7 中有效。

    【讨论】:

    • 你的答案应该改写。这不是很清楚。请在发布前阅读 SO 指南。
    【解决方案3】:

    您可以运行cat /etc/issue 并根据需要进行解析

    【讨论】:

    • /etc/issue(至少在我的系统上)具有可替换的参数。我认为您不能使用此文件可靠地确定操作系统版本
    猜你喜欢
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    • 2012-02-05
    • 2019-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多