Gibt es ein Tool zum Überprüfen von / etc / network / interfaces-Dateien?


26

Ich teste immer gerne neue Konfigurationsdateien, bevor ich sie bereitstelle - mit Tools wie apachectl configtestund named-checkconf.

Es kommt nur selten vor, dass Fehler auftreten. Wenn Sie diese jedoch vor der Bereitstellung abfangen, sind keine Auswirkungen zu erwarten. Der, der mich mehrmals in den Hintern gebissen hat, ist /etc/network/interfaces; Ich kann anscheinend kein Tool zum Testen finden, und ein Neustart des Netzwerks auf einem Remotecomputer, nur um festzustellen, dass es nicht mehr erreichbar ist, ist ziemlich ärgerlich - insbesondere, wenn wir viel Kleben und Überbrücken verwenden.

Antworten:


24

Um die Antwort von @ jdthood zu erweitern ...

Wenn die Schnittstelle bereits aktiv ist, können Sie diese Methode weiterhin zum Überprüfen der /etc/network/interfacesDatei verwenden. Angenommen, Sie haben einen Fehler, sehen Sie möglicherweise Folgendes:

$ sudo ifup --no-act eth0
/etc/network/interfaces:11: unknown method
ifup: couldn't read interfaces file "/etc/network/interfaces"

Anscheinend gibt es einen Fehler in Zeile 11. Großartig. Gott sei Dank habe ich das Netzwerk nicht gebockt, nur um den SSH-Zugang zu verlieren!

Wenn alles in Ordnung ist, werden Sie sehen:

$ sudo ifup --no-act eth0
ifup: interface eth0 already configured

9

Das Folgende kann einen Teil dessen tun, was Sie wollen.

ifup --no-act eth0

6

Wenn Sie kein eth0 haben, funktioniert dies nicht, zB:

Ignoring unknown interface eth0=eth0.

Aber wenn dir das gefällt:

ifup -a --no-act ; echo "status: $?"

Mit 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

Bei nicht ok Konfiguration:

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.