我总是喜欢在部署新配置文件之前先测试它们,例如使用apachectl configtest
和工具named-checkconf
。
很少会出现错误,但是在部署之前发现错误可以消除任何影响。在背面多次咬我的是/etc/network/interfaces
; 我似乎找不到能够测试它的工具,并且在远程计算机上重新启动网络以发现它不再可访问是相当烦人的-特别是当我们使用大量绑定和桥接时。
我总是喜欢在部署新配置文件之前先测试它们,例如使用apachectl configtest
和工具named-checkconf
。
很少会出现错误,但是在部署之前发现错误可以消除任何影响。在背面多次咬我的是/etc/network/interfaces
; 我似乎找不到能够测试它的工具,并且在远程计算机上重新启动网络以发现它不再可访问是相当烦人的-特别是当我们使用大量绑定和桥接时。
Answers:
为了扩展@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