apachectl configtest
我总是喜欢在部署新的配置文件之前用和之类的工具来测试它们named-checkconf
。
错误很少发生,但在部署之前发现它们可以消除任何影响。让我困扰了好几次的是/etc/network/interfaces
;我似乎找不到工具来测试它,并且在远程机器上重新启动网络却发现它不再可访问,这非常烦人——尤其是当我们使用大量绑定和桥接时。
答案1
扩展@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
答案2
下面可能会完成您想要的部分操作。
ifup --no-act eth0
答案3
如果你没有 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