RPM升级后安装退出

时间:2017-07-20 12:52:52

标签: rpm rpmbuild rpm-spec

如果升级RPM,有没有办法退出%post部分。

我有简单的rpm以及以下部分。 注意:这里我退出%post。

当我运行rpm -Uvh package_name时,%post部分遇到错误。退出确实只发生在%post部分。然而,转速然后继续%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包。

2 个答案:

答案 0 :(得分:0)

有点不清楚你的意思是退出:RPM退出? %postlet出口?

据推测,如果%post中有非零退出代码,您希望RPM停止升级。这已经实现了:%post的非零返回将取消删除正在升级的旧软件包。

正在升级的软件包集将继续“尽力而为”,但即使集合中的某些软件包发生故障,也是如此。

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

答案 1 :(得分:0)

阿图。

我想,你不能在%post script let中取消rpm事务(脚本让 RPM)忽略退出代码。