Мне всегда нравится тестировать новые конфигурационные файлы перед их развертыванием с помощью таких инструментов, как apachectl configtest
и named-checkconf
.
Редко возникают ошибки, но их обнаружение до развертывания исключает какое-либо влияние. Тот, который несколько раз укусил меня в заднюю часть, это /etc/network/interfaces
; Кажется, я не могу найти инструмент для его проверки, и перезапуск сети на удаленном компьютере, только чтобы обнаружить, что он больше недоступен, довольно раздражает, особенно когда мы используем много связей и мостов.
Следующее может сделать часть того, что вы хотите.
ifup --no-act eth0
Подробнее о ответе @ jdthood ...
Если интерфейс уже запущен, вы можете использовать этот метод для проверки файла /etc/network/interfaces
. Например, предположив, что у вас есть ошибка, вы можете увидеть что-то вроде этого:
$ sudo ifup --no-act eth0
/etc/network/interfaces:11: unknown method
ifup: couldn't read interfaces file "/etc/network/interfaces"
Видимо, есть ошибка в строке 11. Отлично. Слава богу, я не отказался от сети только для того, чтобы потерять доступ по SSH!
Если все в порядке, вы увидите:
$ sudo ifup --no-act eth0
ifup: interface eth0 already configured
Если у вас нет eth0, это не сработает, например:
Ignoring unknown interface eth0=eth0.
Но если вы сделаете так:
ifup -a --no-act ; echo "status: $?"
С 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
С не в порядке конфигурации:
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