ifconfig 和 ifquery 输出之间的区别

ifconfig 和 ifquery 输出之间的区别

有没有办法清理 ifquery 状态,以便它反映底层设备?而不仅仅是用于维护锁的描述符?

$ ifquery --state
bond0.100=bond0.100
bond0=bond0
eth3=eth3
eth1=eth1
eth0=eth0

我已经使用 sysfs 删除了该接口,但它仍然保留在 ifquery 状态表中。

$ ifconfig bond0
bond0: error fetching interface information: Device not found

答案1

ifquery --list

按顺序显示 /etc/network/interfaces 文件中当前选中的接口。这并不表明当前正在运行的接口。

ifquery --state

按照某种顺序显示界面,截至撰写本文时尚不清楚是什么驱动了这种顺序。

该文件/run/network/ifstate似乎维护了接口启动的顺序。每次启动接口(通过 ifup)时,它都会被附加到列表末尾。当它关闭时(通过 ifdown),它将从列表中删除。

ifconfig <interface>

这将直接进入设备本身并进行查询,它不维护整个操作系统的任何状态。如果使用 ifconfig 启动接口,则不会在状态表中维护它。

相关包是:ifupdown

相关内容