J'aime toujours tester les nouveaux fichiers de configuration avant de les déployer - avec des outils tels que apachectl configtest
et named-checkconf
.
Il est rare que des erreurs se produisent, mais les détecter avant le déploiement élimine tout impact. Celui qui m'a mordu à l'arrière plusieurs fois est /etc/network/interfaces
; Je n'arrive pas à trouver un outil pour le tester, et redémarrer le réseau sur une machine distante pour découvrir qu'il n'est plus joignable est assez ennuyant - surtout lorsque nous utilisons beaucoup de liaisons et de ponts.
Pour développer réponse de @ jdthood ...
Si l'interface est déjà active, vous pouvez toujours utiliser cette méthode pour valider le fichier /etc/network/interfaces
. Par exemple, en supposant que vous avez une erreur, vous pouvez voir quelque chose comme ceci:
$ Sudo ifup --no-act eth0
/etc/network/interfaces:11: unknown method
ifup: couldn't read interfaces file "/etc/network/interfaces"
Apparemment, il y a une erreur sur la ligne 11. Génial. Dieu merci, je n'ai pas fait rebondir le réseau pour perdre un accès SSH!
Si tout va bien, vous verrez:
$ Sudo ifup --no-act eth0
ifup: interface eth0 already configured
Ce qui suit peut faire partie de ce que vous voulez.
ifup --no-act eth0
Si vous n'avez pas d'eth0, cela ne fonctionnera pas, par exemple:
Ignoring unknown interface eth0=eth0.
Mais si vous aimez ça:
ifup -a --no-act ; echo "status: $?"
Avec ok config:
ifup -a --no-act ; echo "status: $?"
run-parts /etc/network/if-pre-up.d
run-parts /etc/network/if-up.d
status: 0
Avec config non-ok:
ifup -a --no-act ; echo "status: $?"
/etc/network/interfaces:12: option with empty value
ifup: couldn't read interfaces file "/etc/network/interfaces"
status: 1