Oddity: “grep” cmd em / etc / network / interfaces

1

Enquanto vasculhamos o ninho de pássaros da inicialização da rede em nossa configuração Linux embutida (Linux SDK no Leopardboard SBC), encontramos o que parece ser uma linha estranha e possivelmente inoperante em / etc / network / interfaces:

# Wired or wireless interfaces
auto eth0
iface eth0 inet dhcp
        pre-up /bin/grep -v -e "ip=[0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+" /proc/cmdline > /dev/null

Agora, o cmdline do kernel neste sistema pode conter a linha "ip = 192.168.2.1" ou algum outro endereço, mas esta linha especificamente ignora se ele corresponder ( grep -v = mostra apenas linhas não correspondentes). Além disso, ele está redirecionando para / dev / null, então parece fútil de qualquer forma.

Alguém viu algo assim ou teve alguma idéia do que poderia estar fazendo / poderia ser feito, além de nada ?

    
por John U 02.04.2014 / 14:15

1 resposta

4

De man interfaces :

       pre-up command
          Run command before bringing the interface up.  If  this  command
          fails then ifup aborts, refraining from marking the interface as
          configured, prints an error message, and exits  with  status  0.
          This behavior may change in the future.

De lá, eu suponho que o comando que você citou é basicamente um teste, destinado a abortar o ifup e reconfigurar a interface, se já houver e ip=... line em cmdline . O redirecionamento para /dev/null é aplicado à mensagem de erro de pré-inicialização, não ao grep.

    
por 02.04.2014 / 14:22