WSL2:我在原生的Win10玩轉Linux系統

LiangGzone發表於2020-11-18

原文地址:樑桂釗的部落格

部落格地址:http://blog.720ui.com

歡迎關注公眾號:「服務端思維」。一群同頻者,一起成長,一起精進,打破認知的侷限性。

WSL2:我在原生的Win10玩轉Linux系統

今天,我跟大家分享一個好玩的東西:WSL 2(Windows Subsystem for Linux 2)。WSL 2 很有意思,它是基於Hyper-V 功能的子集提供了“真正的 Linux 核心”。怎麼理解這句話呢?大家設想,我們平時的研發辦公環境需要Windows,而開發環境需要 Linux 系統,我們會怎麼做?

  • 方案一:安裝主機雙系統,實現物理隔離。
  • 方案二:安裝虛擬機器,例如使用 VMware 來實現完整的使用體驗。
  • 方案三:使用 Docker 容器。

其中,方案一成本最高,需要兩臺以上的物理機,而方案二資源消耗大、執行效率低,而方案三“容器化”方案是我們目前較多采用的方案。而最新的 Windows 版本(對於x64系統:版本1903或更高版本,以及內部版本18362或更高版本)通過 WSL2 技術支援在原生的系統上使用到 Linux 核心,實現 Linux 子系統化。

WSL 2 使用之旅

現在,讓我們來一探究竟吧。要更新到WSL 2,我們必須正在執行 Windows 10。這裡,官方對於 Windows 10 版本是由要求的。

  • 對於 x64 系統:版本 1903 或更高版本,以及內部版本 18362 或更高版本。
  • 對於 ARM64 系統:2004 或更高版本,內部版本19041或更高。
  • 低於18362 的內部版本不支援 WSL2。使用 Windows Update Assistant 來更新 Windows 版本。

我們可以通過選擇 Windows徽標鍵+ R 鍵入 winver ,然後選擇確定。

下圖,就是我的電腦的版本號了。如果你執行的是 Windows 10 版本1903 或 1909,請從 Windows 選單中開啟“設定”,導航至“更新和安全”,然後選擇“檢查更新”。

緊接著,我們需要確保開啟 適用於 Linux 的 Windows 子系統 和 虛擬機器平臺 配置項。

這裡,我們也可以以管理員身份開啟 PowerShell 用命令方式安裝。

首先啟用 虛擬機器平臺 功能。

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然後重啟下,啟用 適用於 Linux 的 Windows 子系統 功能。

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

然後呢,我們還需要下載最新 Linux 核心更新程式包。 下載地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

安裝完成後,將 WSL 2 設定為預設版本。

wsl --set-default-version 2

最後,我們安裝自己需要的 Linux 發行版。

我比較熟悉使用 CentOS,而應用商店中的 CentOS 是收費版本,而 github 上面有 CentOS 官方開源的安裝包,我們這裡使用 github 上的安裝包進行安裝。地址:https://github.com/CentOS/sig-cloud-instance-images/

安裝完畢後,進入命令列,可以檢視版本清單。

wsl -list -verbose

通過輸入 wsl 命令都可以進入CentOS7系統。

至此,我們可以在原生的 Windows 10 玩轉 Linux 系統了。

Docker Desktop WSL 2

現在,我來說一個更好玩的特性。因為,WSL 2 引入了重大的體系結構更改,它是由 Microsoft 構建的完整 Linux 核心,允許 Linux 容器在沒有模擬的情況下本機執行。因此,通過在 WSL 2 上執行的 Docker Desktop,使用者可以利用 Linux 工作區。此外,WSL 2 改進了檔案系統共享,啟動時間,並允許 Docker Desktop 使用者訪問一些很酷的新功能。Docker Desktop 使用 WSL 2 中的動態記憶體分配功能極大地減少了資源消耗。這意味著,Docker Desktop僅使用所需數量的所需 CPU 和記憶體資源,同時使 CPU 和記憶體密集型任務(如構建容器)執行得更快。此外,使用WSL 2,冷啟動後啟動 Docker 守護程式所需的時間明顯更快。與之前版本的 Docker Desktop 幾乎需要一分鐘相比,啟動 Docker 守護程式所需的時間不到 10 秒。

在安裝 Docker Desktop WSL 2 之前,必須完成以下步驟:

  • 下載 Docker Desktop Stable 2.3.0.2 或更高版本。
  • 安裝 Windows 10 版本 1903 或更高版本。
  • 在 Windows 上啟用 WSL 2 功能。

參考文獻

寫在末尾

【服務端思維】:我們一起聊聊服務端核心技術,探討一線網際網路的專案架構與實戰經驗。讓所有孤軍奮戰的研發人員都找到屬於自己的圈子,一起交流、探討。在這裡,我們可以認知升級,連線頂級的技術大牛,連線優秀的思維方式,連線解決問題的最短路徑,連線一切優秀的方法,打破認知的侷限。

更多精彩文章,盡在「服務端思維」!

相關文章