«ifconfig» выдает ошибку в Bash на Ubuntu на Windows

«ifconfig» выдает ошибку в Bash на Ubuntu на Windows

Когда я пытаюсь использовать команду «ifconfig» в Bash на Ubuntu на Windows (WSL), возникает следующая ошибка:

root@пример:~#ifconfig
Предупреждение: невозможно открыть /proc/net/dev (нет такого файла или каталога). Ограниченный вывод.

И когда я пытаюсь запустить "iwconfig":-

eth0 без беспроводных расширений.

wifi0 нет беспроводных расширений.

нет беспроводных расширений.

und0 нет беспроводных расширений.

und1 нет беспроводных расширений.

Это наводит меня на мысль, что он не обнаружил сетевые устройства, но как тогда работает интернет? Интернет работает хорошо, так как я использовалapt-getдля установки приложений;

Я не профессионал в Linux, не говоря уже о профессионале в WSL, поэтому могу ли я получить совет о том, как преодолеть эту проблему?

решение1

WSL не запускает полное ядро ​​Linux – он только транслирует каждый отдельный системный вызов в его вариант Windows. Поэтому WSL ненуждаться«обнаруживать» устройства так же, как это делает настоящий Linux, поскольку сама Windows уже сделала это.

Кроме того, "обнаружение" устройства — это не то же самое, что раскрытие информации о нем, в любом случае. Файлы в /proc/netносит исключительно информационный характер; они не нужны для фактического использования сети. Так что это не большая проблема, если они отсутствуют.

Кроме того,большинство сетевых программвсе равноо реальных устройствах;они работают только с функциями высокого уровня (сокеты BSD) и позволяют ОС обрабатывать детали. Поэтому, пока WSL реализует функции вроде socket()и connect()и sendto(), этого достаточно.


Аналогичная ситуация iwconfig: беспроводные устройстваужеуправляется самой Windows; WSL просто не знает, как преобразовать информацию о ссылках в программы Linux, но большинству из них это знать и не нужно.

Кроме того, iwconfigэто старый инструмент, который использует почти устаревший API WEXT. Я подозреваю, что разработчики больше заботились бы о создании современных инструментов на основе nl80211, таких какiwработай в первую очередь.

(Даже многие драйверы Linux больше не поддерживают WEXT напрямую — они только эмулируют его поверх nl80211.)

Связанный контент