Existe uma maneira de limpar o estado do ifquery para que ele reflita os dispositivos subjacentes? Em vez de apenas os descritores usados para manter os bloqueios?
$ ifquery --state
bond0.100=bond0.100
bond0=bond0
eth3=eth3
eth1=eth1
eth0=eth0
Eu removi a interface usando o sysfs, mas ela ainda permanece na tabela de estado ifquery.
$ ifconfig bond0
bond0: error fetching interface information: Device not found
Responder1
ifquery --list
Mostra as interfaces atuais que são selecionadas em seu arquivo /etc/network/interfaces na ordem em que serão selecionadas. Isto não dá uma indicação das interfaces atualmente em execução.
ifquery --state
Mostra as interfaces em algum tipo de ordem; não está claro, no momento em que este artigo foi escrito, o que impulsiona essa ordem.
O arquivo /run/network/ifstate
parece manter a ordem em que as interfaces foram iniciadas. Cada vez que uma interface é iniciada (por ifup), ela é anexada ao final da lista. Quando for encerrado (por ifdown) ele será removido da lista.
ifconfig <interface>
Este irá para o próprio dispositivo e fará as consultas diretamente, não mantendo nenhum estado do sistema operacional geral. Se as interfaces forem criadas usando ifconfig então elas não serão mantidas na tabela de estados.
O pacote relevante é:ifupdown