2010-10-27 103 views
10

我正在製作RPM。這個特定的RPM具有不能表達爲RPM先決條件的要求,我們稱它們爲特定的文件系統/磁盤配置。目前,失敗發生在安裝後,在運行時,當不符合要求時。在規範步驟中以編程方式失敗RPM安裝

我可以在我的腳本的%install部分檢查所需的先決條件。但是,如果滿足某些標準,我無法弄清楚如何安裝失敗。是否有可能通過%install(或其他)部分中的某些觸發器在運行時通過rpm安裝失敗?

一個例子看起來是這樣的話,在一個文件中的.spec:

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

回答

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

AWK會給你錯誤的值時,*文件系統*名太長。我相信使用'df -P'可以避免這個問題。 – draganHR 2015-08-17 14:53:33