如果升级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包。
答案 0 :(得分:0)
有点不清楚你的意思是退出:RPM退出? %postlet出口?
据推测,如果%post中有非零退出代码,您希望RPM停止升级。这已经实现了:%post的非零返回将取消删除正在升级的旧软件包。
正在升级的软件包集将继续“尽力而为”,但即使集合中的某些软件包发生故障,也是如此。
请注意,在较新的软件包中安装的任何文件都将覆盖路径:在执行%post之前发生这种情况,因此%post中的退出无法阻止已经发生的事情。
答案 1 :(得分:0)
阿图。
我想,你不能在%post script let中取消rpm事务(脚本让 RPM)忽略退出代码。