Arquivo de log em branco se %post contém back tick ou substituição de comando

Arquivo de log em branco se %post contém back tick ou substituição de comando

Ao construir um instalador USB personalizado para Centos6.6 (não é fácil), descobri quesea seção% post do arquivo kickstart tem crases

  • O Anaconda é concluído, mas sai imediatamente para uma tela em branco (sem saída de vídeo). Normalmente ele sai com uma mensagem dizendo que o Anaconda foi encerrado, etc.
  • Tanto o anaconda-ks.log quanto o arquivo de log% post existem, mas têm comprimento zero.

Isso funciona

%pre --log=/root/postLog.log
echo "This is the post"
ls
%end

Isso não funciona

%pre --log=/root/postLog.log
echo "This is the post"
echo `ls`
%end

Isso também não funciona

%pre --log=/root/postLog.log
echo "This is the post"
echo $(ls)
%end

Por que? Eu tenho muitas coisas que preciso fazer no% post e não ter suporte para substituição de comando/back tick tornará isso mais difícil.

Alguma solução alternativa?

Editar: E por que preciso de crases?

O instalador é para um produto de dispositivo, portanto, precisa instalar o sistema operacional base, os rpms do sistema operacional personalizado e os rpms do produto.

Portanto, na seção %post, algo como este padrão é muito comum:

cd $ApplicationPackageDir
RPMLIST=`ls *.rpm`
RPMCOUNT=`ls *.rpm | /usr/bin/wc -l`

for theRpm in $RPMLIST
do
    echo /bin/rpm --quiet --upgrade --nodeps --force $theRpm
done

Padrão semelhante para fazer algo genericamente comqualquer que sejaexistem arquivos em um diretório específico.

Todo o conceito não funciona se o anaconda vomitar por ter um backtick no arquivo.

Além disso, backtick é um operador bash válido – no qual o kickstart parece ter problemas.

São bash backtickssupostotrabalhar no kickstart?

Edição II:Adicionado $(ls) ao exemplo

informação relacionada