Recentemente, encontrei um bug em um script em que tentei fazer o seguinte:
yum -y install another_package.x86_64 some_package.x86_64 && run_my_script
O script funcionou bem em um CentOS mais recente, mas quando tentei executá-lo no Cent OS 5, some_package.x86_64
não estava disponível. Mas, em vez de errar e parar, yum
apenas imprimiu a mensagem:
No package some_package.x86_64 available.
Como forçar yum
a erro nessas situações (qual IMO deve ser o padrão) para tornar meus scripts mais robustos?
yum
felizmente retorna0
neste caso. Meu script já está verificando o valor de retorno antes de continuar. Observe o&&
?Respostas:
Como você descobriu, esse comportamento mudou entre o RHEL 5 e 6 (consulte https://bugzilla.redhat.com/show_bug.cgi?id=736694 para alguma discussão). A partir desse link, a verificação do código de retorno de
yum info <pkg>
deve permitir o cancelamento do script, conforme necessário. Algo como:fonte
Pelo bug 1274211 , isso foi corrigido no yum-3.4.3-133.el7. No entanto, você precisa ativar o modo estrito.
A maneira mais fácil de fazer isso para fins de script é através da opção de linha de comando:
No entanto, você também pode configurá-lo como uma opção de configuração no seu
yum.conf
:fonte