RPM 升级 post 安装退出

RPM upgrade post install exit

有没有办法在升级 RPM 的情况下退出 %post 部分。

我有以下部分的简单 rpm。 注意:这里我在 %post.

中退出

当我 运行 rpm -Uvh package_name 时,%post 部分遇到错误。退出确实仅发生在 %post 部分。然而,rpm 然后继续使用 %preun 和 %postun 部分。

如果 %post 部分有任何错误,我只想退出。 这能实现吗?

  %pre
  perform few checks here

  %post
  perform upgrade steps.
  If there is a error performing upgrade steps. **Then exit**

  %preun
  Perform pre-uninstall checks


  %postun
  Perform un-installation steps of previous package

谁能解释一下这个升级 rpm 包。

不太清楚您所说的退出是什么意思:RPM 退出? %post 小脚本退出?

如果您在 %post 中有非零退出代码,您可能希望 RPM 停止升级。这已经实现:来自 %post 的非零 return 将取消擦除正在升级的旧包。

正在升级的软件包集将继续"best effort",但是即使该集中的某些软件包失败了。

请注意,在较新的包中安装的任何文件都将覆盖路径:这发生在 %post 执行之前,因此 %post 中的退出无法阻止已经发生的事情。

阿图尔.

我猜,你不能在 %post script let (script let RPM 会忽略退出代码)。