É possível usar os argumentos condicionais em um preseed?

1

Estou tentando criar um preseed.cfg que pode ser usado para uma instalação baseada em CD e uma instalação baseada em rede. Eu percebi que a maneira mais fácil de fazer isso seria usar um bash condicional "if". Como parte do preseed / late eu tenho algo parecido com o seguinte.

d-i preseed/late_command string \
if [ -f "/media/cdrom/pool/extras/info.gz" ];\
    then\
        echo "CD Install Info";\ 
        cp /media/cdrom/pool/extras/info.gz /target/var/www/info.gz;\
    else\
        echo "Assuming Network install";\ 
        wget http://192.168.0.1/info.gz;\ 
        cp ./info.gz /target/var/www/info.gz;\
fi

Que falha com um erro dizendo que "fi é esperado". Eu percebi que isso era um problema com o analisador, então eu condensava tudo em uma linha.

if [ -f "media/cdrom/pool/extras/info.gz" ]; cp /media/cdrom/pool/extras/info.gz /target/var/www/info.gz; fi

Este comando termina sem erro, mas o arquivo não é copiado. Depois de muitas tentativas usando sintaxe diferente, comecei a me perguntar se isso é possível. Então, é possível usar condicionais (se houver outros, além disso, se eu deveria tentar me avisar) durante o preseed / late?

    
por Randolph 19.02.2013 / 22:45

0 respostas