「ifconfig」在 Windows 上的 Ubuntu 上的 Bash 上出現錯誤

「ifconfig」在 Windows 上的 Ubuntu 上的 Bash 上出現錯誤

當我嘗試在 Windows(WSL)上的 Ubuntu(WSL)上的 Bash 上使用命令“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 程序,但大多數 Linux 程式都不需要知道這一點。

此外,iwconfig它是一個使用幾乎過時的 WEXT API 的舊工具。我懷疑開發人員會更關心製作基於 nl80211 的現代工具,例如iw先工作。

(甚至許多 Linux 驅動程式不再直接支援 WEXT – 它們僅在 nl80211 之上模擬它。)

相關內容