Recientemente me encontré con un error en un script donde intenté hacer lo siguiente:
yum -y install another_package.x86_64 some_package.x86_64 && run_my_script
El script se ejecutó bien en un CentOS más nuevo, pero cuando intenté ejecutarlo en Cent OS 5, some_package.x86_64
no estaba disponible. Pero en lugar de equivocarse y detenerse, yum
simplemente imprimió el mensaje:
No package some_package.x86_64 available.
¿Cómo puedo forzar yum
un error en tales situaciones (cuál IMO debería ser la predeterminada) para hacer que mis scripts sean más robustos?
yum
felizmente regresa0
en este caso. Mi script ya está comprobando el valor de retorno antes de continuar. Observe el&&
?Respuestas:
Como descubrió, este comportamiento cambió entre RHEL 5 y 6 (consulte https://bugzilla.redhat.com/show_bug.cgi?id=736694 para obtener más información). Desde ese enlace, verificar el código de retorno de
yum info <pkg>
debería permitirle abortar su script según sea necesario. Algo como:fuente
Según el error 1274211 , esto se ha solucionado en yum-3.4.3-133.el7. Sin embargo, debe habilitar el modo estricto.
La forma más fácil de hacer esto con fines de secuencias de comandos es a través del interruptor de línea de comandos:
Sin embargo, también puede configurarlo como una opción de configuración en su
yum.conf
:fuente