2010-10-27 70 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