2010-10-27 6 views
10

Ich mache ein RPM. Dieser bestimmte RPM hat Anforderungen, die nicht als RPM-Voraussetzungen ausgedrückt werden können, können sie eine bestimmte Dateisystem-/Festplattenkonfiguration nennen. Derzeit tritt der Fehler nach der Installation zur Laufzeit auf, wenn die Anforderungen nicht erfüllt werden.Fehler bei der programmgesteuerten RPM-Installation in einem Spezifikationsschritt

Ich kann für die erforderlichen Voraussetzungen in der% Installation, Abschnitt meines Skripts überprüfen. Ich kann jedoch nicht herausfinden, wie die Installation fehlschlägt, wenn bestimmte Kriterien erfüllt sind. Ist es möglich, eine rpm-Installation zur Laufzeit über einen Trigger im% install (oder einem anderen) Abschnitt zu scheitern?

Ein Beispiel wäre so etwas wie so, in einer .spec Datei aussehen:

%install 
if [ -f /some/file ] 
then 
    FAIL_RPM_INSTALL ## What is this command? 
fi 

Antwort

2
%pre 
df /data|awk 'END{if ($2 < 10000000) exit 1;}'; 
if [ $? == 1 ]; 
    then echo ERROR not enough space;exit 1; 
fi 
+0

awk werden Sie einen falschen Wert geben, wenn * Dateisystem * Name ist zu lang. Ich glaube, mit "df -P" vermeidet dieses Problem. – draganHR