我正在构建rpm pacakge但是我注意到了这种情况。当我的rpm脚本失败时,仍然认为rpm已安装在我的系统中。我想添加清理逻辑,如果在我的rpm脚本中检测到错误,我可以在我的代码中调用'rpm -e'并卸载脚本。然而它似乎有点kludgy。如果脚本失败,是否有更简洁的方法来确保卸载rpm?
谢谢!
答案 0 :(得分:2)
你做不到。 %pre
失败并且未安装,或者您已安装。您无法致电rpm -e
,因为您的交易已锁定RPM DB。
如果出现问题,我建议您写信至STDERR
,并确保[重新]运行chkconfig
以关闭服务,以便下次重启时不会尝试启动。