问题描述
我一直喜欢在部署新配置文件之前使用apachectl configtest
和named-checkconf
之类的工具测试它们。
很少会出现错误,但是在部署之前发现错误可以消除任何影响。在背面多次咬我的是/etc/network/interfaces
;我似乎找不到能够测试它的工具,并且在远程计算机上重新启动网络以发现它不再可访问非常烦人-尤其是当我们使用大量绑定和桥接时。
最佳回答
扩展到@jdthood’s answer …
如果接口已经打开,您仍然可以使用此方法来验证/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
次佳回答
以下内容可能会满足您的要求。
ifup --no-act eth0
第三种回答
如果您没有eth0,它将无法正常工作,例如:
Ignoring unknown interface eth0=eth0.
但是,如果您这样做:
ifup -a --no-act ; echo "status: $?"
使用确定的配置:
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