“ifconfig” dá um erro no Bash no Ubuntu no Windows

2

Quando eu tento usar o comando "ifconfig" no Bash no Ubuntu no Windows (WSL), isso me dá um erro como este: -

root@example:~# ifconfig
Warning: cannot open /proc/net/dev (No such file or directory). Limited output.

E quando tento executar o "iwconfig": -

eth0   no wireless extensions.

wifi0   no wireless extensions.

lo       no wireless extensions.

und0  no wireless extensions.

und1  no wireless extensions.

Isso me leva a acreditar que não detectou os dispositivos de rede, mas como está a internet funcionando? Internet funciona bem, como eu usei apt-get para instalar aplicativos;

Eu não sou pro linux, muito menos um profissional da wsl, então eu poderia ter alguns conselhos sobre como superar esse problema?

    
por Don't Root here plz... 04.09.2016 / 12:04

1 resposta

3

O WSL não executa um kernel Linux completo - ele traduz apenas cada syscall individual para sua variante do Windows. Portanto, o WSL não precisa para "detectar" dispositivos da mesma forma que o Linux real, porque o próprio Windows já fez isso.

Além disso, "detectar" um dispositivo não é o mesmo que expor informações sobre ele, de qualquer forma. Os arquivos em /proc/net são apenas para fins informativos; eles não são necessários para realmente usar a rede. Então não é um grande problema se eles estão faltando.

Além disso, a maioria dos programas de rede não se importa com os dispositivos reais; eles lidam apenas com funções de alto nível (soquetes BSD) e permitem que o SO manipule os detalhes . Portanto, desde que a WSL implemente funções como socket() e connect() e sendto() , isso é suficiente.

A situação com iwconfig é semelhante: os dispositivos sem fio já são gerenciados pelo próprio Windows; A WSL simplesmente não sabe como traduzir as informações do link para os programas Linux, mas a maioria deles não precisa saber disso de qualquer maneira.

Além disso, iwconfig é uma ferramenta antiga que usa a API WEXT quase obsoleta. Suspeito que os desenvolvedores se importariam mais em fazer com que as ferramentas modernas baseadas em nl80211, como iw funcionem primeiro.

(Até mesmo muitos drivers Linux não suportam mais o WEXT diretamente - eles apenas o emulam em cima do nl80211.)

    
por 04.09.2016 / 13:07