Ishpeck Asked: 2019-02-15 16:47:43 +0800 CST2019-02-15 16:47:43 +0800 CST 2019-02-15 16:47:43 +0800 CST 如何根据 %pre scriptlet 的结果使我的 RPM 中止安装 772 我正在创建一个在系统上安装一些工具的 RPM 包。我想在安装我的 RPM 包之前检查一些机器状态。我最初的直觉是从%pre scriptlet 中运行一些命令,如果结果不是我喜欢的,则“退出 1”。但后来我遇到了这个说: 所有 scriptlet 必须以零退出状态退出。 有没有其他方法可以让 RPM 根据 shell 命令的结果中止安装包? rpm 1 个回答 Voted Best Answer Michael Hampton 2019-02-15T17:47:49+08:002019-02-15T17:47:49+08:00 在 scriptlet 中退出非零值肯定会中止 pacakge 的安装,但这确实有副作用。您链接到的文档还讨论了让您的 scriptlet 以非零状态退出的含义。在尝试实施之前,您应该仔细阅读并理解这一点。 如果在 scriptlet 中中止安装不是绝对必要的,则不应这样做。 例如,如果安装软件包不会损害系统,但软件包中的程序根本无法工作,则应允许安装继续进行,并决定在其他地方安装软件包。您的配置管理系统是实现此目的的理想场所。
在 scriptlet 中退出非零值肯定会中止 pacakge 的安装,但这确实有副作用。您链接到的文档还讨论了让您的 scriptlet 以非零状态退出的含义。在尝试实施之前,您应该仔细阅读并理解这一点。
如果在 scriptlet 中中止安装不是绝对必要的,则不应这样做。
例如,如果安装软件包不会损害系统,但软件包中的程序根本无法工作,则应允许安装继续进行,并决定在其他地方安装软件包。您的配置管理系统是实现此目的的理想场所。