是否有用于验证 /etc/network/interfaces 文件的工具?

是否有用于验证 /etc/network/interfaces 文件的工具?

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

相关内容