CodeGym /Adesua ahorow /Docker SELF /在Windows上使用Linux:WSL

在Windows上使用Linux:WSL

Docker SELF
等級 1 , 課堂 2
開放

在Windows上使用Linux:WSL

1. 什麼是 WSL?

現在我們要來聊一個有趣的主題:如果你主要使用的是 Windows 作為操作系統,那麼如何操作 Linux? 歡迎來到 WSL 的世界!

WSL (Windows Subsystem for Linux) 是 Microsoft 的一項技術,可以讓你直接在 Windows 中運行 Linux 發行版。有兩個版本:

  • WSL1: 基於 Windows 和 Linux 之間的系統調用層兼容性運作。它通過 Windows 核心來模擬 Linux 的行為。
  • WSL2: 使用基於輕量級隱藏虛擬機的完整 Linux 核心。這讓 WSL2 更快並且與實際的 Linux 具有更高的兼容性。

WSL 就像是兩個世界的折衷方案:你可以使用 Linux 工具,但仍然停留在 Windows 生態系統中。對於開發者來說,這是一個超大的優勢:你可以編程、測試和使用你喜歡的 Linux 指令來配置伺服器。


2. 為什麼 WSL 如此有價值?

  1. 開發和測試:WSL 讓開發者可以在 Linux 環境中工作,而不需要重啟電腦或使用虛擬機器。
  2. Docker 和容器化:WSL2 支援 Docker,這對於處理容器特別有幫助。
  3. 檔案系統整合:你可以使用單一檔案系統,在 Windows 和 Linux 間輕鬆交換檔案。
  4. 設置簡單:安裝 WSL 只需要幾分鐘。

WSL 與虛擬機器有什麼不同?

  • 無需虛擬化。你不需要安裝 VirtualBox、VMware 或 Hyper-V。WSL 直接在系統層級運行。
  • 資源消耗更少。WSL 比一般虛擬機器使用更少的記憶體和處理器資源。
  • 與 Windows 整合。你可以輕鬆地在 Windows 和 Linux 之間交換檔案,同時執行 Linux 和 Windows 指令 (!),並使用相同的網路介面。

3. 安裝 WSL

1. 檢查系統需求

開始之前,確認你的系統符合最低需求:

  • Windows 10(版本 2004 或更高)或 Windows 11
  • BIOS/UEFI 中已啟用虛擬化。

要檢查 Windows 版本,打開 PowerShell,執行以下指令:

winver

你會看到類似這樣的視窗:

如果不知道如何在 Windows 上啟動 PowerShell,按 Win+S 然後輸入 powershell。

2. 啟用 WSL

以管理員身份打開 PowerShell,執行以下指令:

wsl --install

這條指令會自動安裝 WSL,下載 Linux 核心並將 WSL2 設置為預設版本。

如果因某些原因指令無效,可以通過 Windows 的附加功能手動啟用 WSL:

  1. 打開 "控制台" → "程式與功能" → "開啟或關閉 Windows 功能"。
  2. 啟用:
    • Windows 子系統適用於 Linux
    • 虛擬機平台

完成後重啟電腦。

3. 選擇和安裝發行版

WSL 支援安裝多種常見的 Linux 發行版,例如 Ubuntu、Debian、Kali Linux 等。要查看可用的發行版列表,執行:

wsl --list --online

你會看到可用發行版列表:


PS C:\Users\Admin> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.

NAME                            FRIENDLY NAME
Ubuntu                          Ubuntu
Debian                          Debian GNU/Linux
kali-linux                      Kali Linux Rolling
Ubuntu-18.04                    Ubuntu 18.04 LTS
Ubuntu-20.04                    Ubuntu 20.04 LTS
Ubuntu-22.04                    Ubuntu 22.04 LTS
Ubuntu-24.04                    Ubuntu 24.04 LTS
OracleLinux_7_9                 Oracle Linux 7.9
OracleLinux_8_7                 Oracle Linux 8.7
OracleLinux_9_1                 Oracle Linux 9.1
openSUSE-Leap-15.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

例如,要安裝 Ubuntu,執行:

wsl --install -d Ubuntu

安裝完成後,啟動發行版以完成設定(例如設置使用者名稱和密碼)。


3. 將預設設定為 WSL2

為了使用 WSL2(非常建議這樣做),請確保 WSL2 已啟用。設置它為預設版本:

wsl --set-default-version 2

如果你已經安裝了 WSL1 的發行版,可以升級到 WSL2:

wsl --set-version <發行版名稱> 2

範例:

wsl --set-version Ubuntu 2

4. WSL 與 Windows 的整合

WSL 和 Windows 的整合非常棒,可以讓你同時使用這兩個系統的功能。以下是一些重點:

1. 文件交換

WSL 將 Windows 的檔案系統掛載到了 /mnt 目錄。例如:

cd /mnt/c/Users/你的名字

你可以直接在 Linux 中操作 Windows 的文件。同樣,你也可以通過 Windows 的檔案總管使用 WSL 中的文件,路徑大概會是這樣:\\wsl$\<發行版名稱>

2. 在 Linux 使用 Windows 的命令

是的,你可以直接在 WSL 中運行 Windows 命令。例如:

explorer.exe .

這會在檔案總管中打開當前目錄。

3. 在 PowerShell 中使用 Linux 的命令

WSL 允許你直接從 PowerShell 中運行 Linux 命令。例如:

wsl ls

5. 在實際開發中使用 WSL

搞定 Web 伺服器

你可以在 WSL 裡跑 Nginx 或 Apache 伺服器,然後透過 Windows 的瀏覽器訪問它。例如:

1. 在 WSL 裡安裝 Nginx:

   sudo apt update
   sudo apt install nginx

2. 啟動伺服器:

   sudo service nginx start

3. 打開瀏覽器,然後輸入 http://localhost

安裝 Docker

WSL2 完全支援 Docker。在 Windows 上安裝 Docker Desktop,然後它會自動整合到 WSL2。


6. WSL 好用命令

  • 檢視已安裝的發行版

    wsl --list --verbose
    

    顯示所有已安裝的發行版、它們的版本和狀態。

  • 停止所有發行版

    wsl --shutdown
    
  • 刪除發行版(小心使用!)

    wsl --unregister <發行版名稱>
    
  • 在特定目錄中啟動 WSL

    wsl ~/
    

7. 常見錯誤及其解決方法

1. 錯誤: "WSL is not enabled"

如果你看到 WSL 未啟用的訊息,確保你已在“控制面板”或通過 PowerShell 啟用了它。同時確認你的處理器是否支持虛擬化(需要在 BIOS 中啟用)。

2. 指令 wsl --install 無法運行

這可能與你的 Windows 版本過舊有關。請將操作系統更新到最新版本。

3. 啟動 Docker 的問題

確認你的發行版使用的是 WSL2,而不是 WSL1。可以通過以下指令檢查:

wsl --list --verbose

4. 無法從 WSL 連接到伺服器

確認 Windows 的防火牆未阻止連接。


8. 實踐任務

  1. 安裝 WSL 和 Ubuntu 發行版。
  2. 檢查你的發行版的 WSL 版本:
    wsl --list --verbose
    
  3. 在 WSL 中,在目錄 /mnt/c/Users/你的名字/Documents 創建一個文本文件 test.txt

    echo "你好, WSL!" > /mnt/c/Users/你的名字/Documents/test.txt
    
  4. 通過 PowerShell 查看文件內容:

    type C:\Users\你的名字\Documents\test.txt
    
  5. 加分任務:安裝 Nginx,啟動它並在瀏覽器中打開 http://localhost

總之,你剛剛完成了從安裝到實際在 Windows 上使用 Linux 的整個過程。通過這個工具,你可以輕鬆快捷地部署適合任何任務的工作環境。

留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION