2012-03-29 133 views
4

我正在寻找一种方法来退出rpm安装,如果某些条件为false。如果条件失败,我在%pre部分中添加了一个小脚本,它将退出安装。如何在出现错误时退出rpm安装

我面对的问题是我看到%pre scriptlet被执行,并且rpm安装确实失败。然而在最后,我得到了我不想要的这两行 - 安装完毕!

Downloading Packages: 
Running Transaction Test 
Finished Transaction Test 
Transaction Test Succeeded 
Running Transaction 
missing file zyWhg1. exiting install.. 
error: %pre(tyr-3.2.1.x86_64) scriptlet failed, exit status 255 
error: install: %pre scriptlet failed (2), skipping tyr-3.2.1 

Installed: tyr-3.2.1.x86_64 0:3.2.1 
Complete! 

回答

4

如果你需要做只是为了确保没有在文件系统中的某些文件,您可以做简单的

Requires: /path/to/expected/file 

否则,你确实是运气不好可能的。

我能想到极其丑陋的解决方案,将涉及从脚本小程序内杀死转的,但这超出了邪恶:-)

+1

如果在安装时需要,请使用为此支持的RPM。前面部分是针对特殊情况的。 – user318904 2012-03-31 21:08:30