J'ai récemment rencontré un bogue dans un script où j'ai essayé de faire ce qui suit:
yum -y install another_package.x86_64 some_package.x86_64 && run_my_script
Le script fonctionnait bien sur un CentOS plus récent, mais lorsque j'ai essayé de l'exécuter sur Cent OS 5, il some_package.x86_64
n'était pas disponible. Mais au lieu d'erreurs et d'arrêts, il yum
suffit d'imprimer le message:
No package some_package.x86_64 available.
Comment puis-je forcer yum
à l'erreur dans de telles situations (quel IMO devrait être la valeur par défaut) pour rendre mes scripts plus robustes?
yum
revient heureusement0
dans ce cas. Mon script vérifie déjà la valeur de retour avant de continuer. Remarquez le&&
?Réponses:
Comme vous l'avez constaté, ce comportement a changé entre RHEL 5 et 6 (voir https://bugzilla.redhat.com/show_bug.cgi?id=736694 pour une discussion). À partir de ce lien, la vérification du code retour de
yum info <pkg>
devrait vous permettre d'interrompre votre script si nécessaire. Quelque chose comme:la source
Par bug 1274211 , cela a été corrigé dans yum-3.4.3-133.el7. Cependant, vous devez activer le mode strict.
La façon la plus simple de le faire à des fins de script est via un commutateur de ligne de commande:
Cependant, vous pouvez également le définir comme option de configuration dans votre
yum.conf
:la source