我在嵌入式设备上运行node.js服务器,该设备提供Web UI以允许用户修改网络接口设置 - 例如,从静态更改为DHCP或反之亦然,或者设置特定的静态IP设置(网络掩码,网关)使用这些用户驱动的配置参数,我能够以编程方式生成新的/ etc / network / interfaces文件(当然,在将前一个文件备份到/etc/network/interfaces.bak文件之后)。我甚至对新配置文件的日志文件执行'cat / etc / network / interfaces'以确认新interfaces文件的内容和语法有效性。到目前为止,一切都很糟糕。
但是,如果我的设备上有重启(在重启之前有或没有/etc/init.d/networking停止/启动),我发现系统多次出现空/ etc / network / interfaces文件,因此没有网络接口。 (幸运的是,我有一个允许SSH连接的JTAG接口,因此仍然可以连接到我的设备,但对于用户来说,他们的设备基本上是砖块。)
什么会导致操作系统将/ etc / network / interfaces文件留空?我认为这必须在系统初始化期间完成 - 但出于什么原因?
如果我使用文本编辑器手动进行相同的更改并重新启动,一切都很好 - 每次都会出现新的界面设置。
我无法解释可能导致此行为的原因。
-
以下是我考虑但已排除的其他因素:
编辑:我的设备基于运行Debian Wheezy 3.14变体的TI Sitara uP。我运行node.js v0.12.x作为服务器后端。