Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在构建一个 rpm 包,但是我注意到了这种情况。当我的 rpm 脚本失败时,仍然认为 rpm 已安装在我的系统中。我正在考虑添加清理逻辑,如果在我的 rpm 脚本中检测到错误,我可以在我的代码中调用“rpm -e”并卸载脚本。但是,它似乎有点笨拙。如果脚本失败,是否有更清洁的方法来确保卸载 rpm?
谢谢!
你不能。要么%pre失败且未安装,要么您已安装。您无法调用rpm -e,因为 RPM DB 已为您的事务锁定。
%pre
rpm -e
如果出现故障,我建议您写信STDERR并确保您 [重新] 运行chkconfig以关闭您的服务,这样它就不会在下次重新启动时尝试启动。
STDERR
chkconfig