1

我正在构建一个 rpm 包,但是我注意到了这种情况。当我的 rpm 脚本失败时,仍然认为 rpm 已安装在我的系统中。我正在考虑添加清理逻辑,如果在我的 rpm 脚本中检测到错误,我可以在我的代码中调用“rpm -e”并卸载脚本。但是,它似乎有点笨拙。如果脚本失败,是否有更清洁的方法来确保卸载 rpm?

谢谢!

4

1 回答 1

2

你不能。要么%pre失败且未安装,要么您已安装。您无法调用rpm -e,因为 RPM DB 已为您的事务锁定。

如果出现故障,我建议您写信STDERR并确保您 [重新] 运行chkconfig以关闭您的服务,这样它就不会在下次重新启动时尝试启动。

于 2013-02-08T22:41:32.133 回答