Categories
科技報導

Windows 10 變身開發者利器:內置 Linux 內核 像安裝驅動一樣方便



在 Windows 上運行 Linux ?這其實不是新鮮事,20 年前,就有黑客這麼幹過。不過大體都是虛擬機的做法,速度慢,能跑的 Linux
 應用也少。三十年河東,三十年河西。微軟的開發者博客剛剛公佈 ,下一個 Windows10 版本,不僅自帶 Linux
內核,而且還會通過 Windows Update 安裝方式更新,簡單得就像安裝驅動程序一樣。

大殺器

這個大殺器叫做 WSL ,  全稱是“適用於 Linux 的 Windows 子系統”(Windows Subsystem for Linux),它其實也不是一夜間冒出來的,只是一直默默無聞。

最早它起源於一個叫 Astoria 的項目,目的是為了讓一些安卓 APP 運行在 Windows 10 移動版上。

但它的目標並不是硬件仿真或者虛擬化這樣的項目,或者像流行的 Cygwin 這樣的第三方 Linux 環境。

它的設計目標是一個完整的Linux 子系統,可以直接使用主機的文件系統,比如允許用戶在同一組文件上使用Windows 應用程序和Linux 工具;也可以調用硬件的某些部分,這是微軟官方提供的在Windows 環境下運行Linux 軟件的最直接方式。

比如直接使用 GNU Linux 的命令行工具,各種編程語言諸如 Python、Ruby 的解釋器,甚至像 XWindow 這樣的圖形應用程序。

當然,微軟指出 WSL 主要是面向應用程序的開發者,而不是日常的桌面環境。對於主力開發環境是 Windows ,但時不時需要用到 Linux 的開發者、老師或學生來說,堪稱提高效率的開源神器。

下個月就可能發布

這個要推出的 Windows10 版本號是 2004,根據 YYMM 格式的命名規則,2004 就是 2020 年 4 月,當然 5 月發布也不奇怪,Windows Insider 裡則可以先行體驗。

這次更新的其實是 WSL 第二個版本(WSL2) ,它比上一個版本 WSL1 要強大得多,它打包了真正的 Linux 內核,推進到了普遍可用(GA,Generally Available)的狀態。

特別是它大幅度提高了文件系統 I/O 性能,可以在 Windows 上直接運行 Linux 二進製文件。 WSL1 是通過轉換層,對系統調用還要做翻譯;而 WSL2 則包含自己的 Linux內核,具有完整的系統調用兼容性,比如像 Linux 版本的 Docker 這樣的開源程序,就可以直接調用。

WSL2 是在 2019 年 6 月的 微軟 Build 大會上宣布的,到這次即將要達到的人人可用的狀態,花了接近一年的時間。

如何安裝使用

這次 WSL2 最值得稱道的,就是它簡便的安裝和使用方式,說白了就像安裝驅動程序或者打一個補丁那麼簡單。具體而言就是使用 Windows Update 進行更新,這樣可以獲得最新的內核版本,而無需更新整個 Windows 映像。

Windows 10 變身開發者利器:內置 Linux 內核 像安裝驅動一樣方便 1

如果是第一次安裝 WSL ,就會在安裝過程中檢查更新並為您安裝 Linux 內核。

當然,你也可以在命令行里操作,直接下載軟件包。 Windows 10 變身開發者利器:內置 Linux 內核 像安裝驅動一樣方便 2

在 Github 上,你可以看到完整的源代碼:WSL2-Linux-Kernel [2]。它基於 Linux 修改而來的,採取 Linux 內核的 GPLv2 開源許可證協議。

Windows 10 變身開發者利器:內置 Linux 內核 像安裝驅動一樣方便 3

對於開發者來說,安裝了Linux 內核之後,不僅僅是使用Linux 命令行工具,而是可以運行其上的GNU/Linux,這意味著你可以選擇不同的Linux 發行版,比如Ubuntu、Debian、SUSE等等,這些發行版通過Microsoft 商店就可以安裝。

開源的微軟,開源的社區

微軟對開源的支持今非昔比了。隨著 WSL 的發布,開發者已經形成了一個熱烈的開源社區,甚至還辦起了開發者大會 WSLCONF [3] ,今年的 WSLCONF 就是 3 月 3 日,當然由於疫情原因,變成了一次線上活動。 Windows 10 變身開發者利器:內置 Linux 內核 像安裝驅動一樣方便 4

開發者大會還是 Ubuntu 贊助的,圍繞 WSL主題進行各個方面的討論,其中社區的頭號人物就是 WSL的微軟項目經理克雷格·羅文(Craig Loewen)[4] 。

克雷格非常年輕,2018年剛從加拿大滑鐵盧大學機電工程畢業,在校時實習經驗豐富,不僅做過微軟的實習生,還做過 FIRST 機器人大賽的評委。

Windows 10 變身開發者利器:內置 Linux 內核 像安裝驅動一樣方便 5

作為微軟官方的 WSL 項目經理,克雷格在微軟開發者博客上也發布了他面對開發者的最新概述視頻《在 WSL2 上如何更快的開發程序》。

Windows 10 變身開發者利器:內置 Linux 內核 像安裝驅動一樣方便 6

曾幾何年,微軟和 Linux 是操作系統領域最大的對手,為什麼現在後者反而成了前者座上賓了?

Engadget 的評論認為,微軟現在越來越不依賴於 Windows 的銷售,而是更多依賴 Azure 這樣的雲服務。而在服務器端和開發者端,更多的支持 Linux,就是更好的打造生態。