其實 Windows 10 早在去年就已具有可以在 Windows 環境下執行 Ubuntu 的機制,但還很陽春,效能不佳,問題多多。但從 Windows 10 1803 版本釋出後,WSL (Windows Subsystem for Linux) 已修正諸多問題並大幅提昇執行效能,使其執行原生 Linux 系統於 Windows 10 環境下成為可便利運行的方案。
所以,WSL 到底是什麼?這篇 Arch Wiki 上說明得很清楚:
「Windows 10 包含一個模擬 Linux 內核的子系統,使得 windows 可以運行 Linux 原生應用程序。這個子系統有點像反過來的 Wine,但是它比 Wine 更加底層。默認情況下,此子系統使用 Ubuntu 用戶空間,但是它可以被替換成 Arch。你需要使用一個現有的 Arch 安裝去構建一些軟件包。」
我個人是相當偏好 ArchLinux,因為可以高度客製化。安裝 ArchLinux 於 WSL 下相當簡單,因為國外已經有大神整理成安裝執行包,詳見 Github-ArchWSL。安裝該執行包前,需要先啟動 WSL 功能,使用 Administrator 開啟 PowerShell 命令列視窗,執行下列指令:
> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux |
重新啟動,然後下載上述 ArchWSL 安裝包,解壓縮並置於準備安裝的目錄下 (我是設定於 C:\Linux\ArchLinux 目錄下)。再來依照執行 ARCH.exe,靜待安裝過程 (非常快),然後完成。
好了,雙擊 ARCH.exe 即可開啟一個 ArchLinux 的 Terminal。接著執行下列步驟:
- 啟始 (initialize) pacman 的 keyring:
$ pacman-key --init $ pacman-key --populate
- 更新所有的套件 (package):
$ pacman -Syu
-
安裝所需的套件:
$ pacman -Syu
注意不要安裝 fakeroot 套件,因為目前 WSL 版本不支持 (但後續可透過 AUR 安裝 fakeroot-tcp 套件達成相同的需求)。
-
新增非 root 的使用者,未來會以此作為預設使用 WSL 的用戶:
# useradd -m -g users -G wheel -s /bin/bash your-user-name
-
執行 visudo,將下列這行去掉註釋符號,使得 wheel 群組的用戶具有 sudo 權限:
%wheel ALL=(ALL) NOPASSWD: ALL
P.S. 因為是在 Windows 系統內,所以每次執行 sudo 時實在沒必要都要輸入密碼。
- 登出 console (執行 exit 或按 CTRL-D)。
-
在命令列視窗下,變更預設使用者:
> Arch.exe config --default-user myuser
重新開機,至此已完成 ArchLinux 的基本安裝!雙擊 ARCH.exe 即可開啟一個完整的 ArchLinux 系統,後續即可參考 ArchLinux Wiki,所有安裝與設定與正常的 Linux 系統是一樣了。
安裝 ArchLinux @WSL 最大的好處就是不需要再透過如 Vmware 啟動一個 Linux 系統了,主要是每次都要等待開機時間,挺麻煩的。現在執行一個 Linux 系統@WSL 根本就是瞬開,馬上就能有一個完整的 Linux 環境,非常方便。
後續打算安裝一些開發工具與系統框架,例如 .NET Core Framework、VisualStudio Code、Linux C++/Python 等,如此便於同時 Windows/Linux 系統下開發寫碼與編譯測試等,相當理想。
※ 延伸參考
o Arch Linux on Windows 10。