2012-03-29 6 views
4

Ich bin auf der Suche nach einer Möglichkeit zum Beenden von RPM installieren, wenn eine Bedingung falsch ist. Ich habe ein kleines Skript im Abschnitt% pre hinzugefügt, das die Installation beendet, wenn meine Bedingung fehlschlägt.So beenden Sie die RPM-Installation im Fehlerfall

Das Problem, mit dem ich konfrontiert bin, ist, dass ich sehe, dass die% Pre Scriptlet ausgeführt wird, und RPM-Installation schlägt fehl. Doch am Ende bekomme ich diese 2 Zeilen, die ich nicht will - Installiert ... gefolgt von Complete!

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! 

Antwort

4

Wenn Sie diese müssen nur sicherstellen, dass es bestimmte Datei im Dateisystem, können Sie einfach tun

Requires: /path/to/expected/file 

Ansonsten sind Sie in der Tat wahrscheinlich kein Glück.

ich extrem hässliche Lösung einfiel, die von rpm Töten innerhalb scriptlet beinhalten würde, aber das ist jenseits böse :-)

+1

Wenn es zur Installationszeit benötigt wird, verwenden Sie RPMs in der Unterstützung dafür. Der Vorabschnitt ist für Ausnahmefälle. – user318904

Verwandte Themen