新版Windows 10自帶Linux內核:可Update更新 像安裝驅動一樣方便
在 Windows 上運行 Linux ? 這其實不是新鮮事,20年前,就有黑客這么干過。
不過大體都是虛擬機的做法,速度慢,能跑的 Linux 應用也少。
三十年河東,三十年河西。微軟的開發(fā)者博客剛剛公布 [1] ,下一個 Windows10 版本,不僅自帶 Linux 內核,而且還會通過 Windows Update 安裝方式更新,簡單得就像安裝驅動程序一樣。
大殺器
這個大殺器叫做 WSL , 全稱是“適用于 Linux 的 Windows 子系統(tǒng)”(Windows Subsystem for Linux),它其實也不是一夜間冒出來的,只是一直默默無聞。
最早它起源于一個叫 Astoria 的項目,目的是為了讓一些安卓 APP 運行在 Windows 10 移動版上。
但它的目標并不是硬件仿真或者虛擬化這樣的項目,或者像流行的 Cygwin 這樣的第三方 Linux 環(huán)境。
它的設計目標是一個完整的 Linux 子系統(tǒng),可以直接使用主機的文件系統(tǒng),比如允許用戶在同一組文件上使用 Windows 應用程序和 Linux 工具;也可以調用硬件的某些部分,這是微軟官方提供的在 Windows 環(huán)境下運行 Linux 軟件的最直接方式。
比如直接使用 GNU Linux 的命令行工具,各種編程語言諸如 Python、Ruby 的解釋器,甚至像 XWindow 這樣的圖形應用程序。
當然,微軟指出 WSL 主要是面向應用程序的開發(fā)者,而不是日常的桌面環(huán)境。對于主力開發(fā)環(huán)境是 Windows ,但時不時需要用到 Linux 的開發(fā)者、老師或學生來說,堪稱提高效率的開源神器。
下個月就可能發(fā)布
這個要推出的 Windows10 版本號是 2004,根據 YYMM 格式的命名規(guī)則,2004 就是 2020 年 4 月,當然 5 月發(fā)布也不奇怪,Windows Insider 里則可以先行體驗。
這次更新的其實是 WSL 第二個版本(WSL2) ,它比上一個版本 WSL1 要強大得多,它打包了真正的 Linux 內核,推進到了普遍可用(GA,Generally Available)的狀態(tài)。
特別是它大幅度提高了文件系統(tǒng) I/O 性能,可以在 Windows 上直接運行 Linux 二進制文件。WSL1 是通過轉換層,對系統(tǒng)調用還要做翻譯;而 WSL2 則包含自己的 Linux內核,具有完整的系統(tǒng)調用兼容性,比如像 Linux 版本的 Docker 這樣的開源程序,就可以直接調用。
WSL2 是在 2019 年 6 月的 微軟 Build 大會上宣布的,到這次即將要達到的人人可用的狀態(tài),花了接近一年的時間。
如何安裝使用
這次 WSL2 最值得稱道的,就是它簡便的安裝和使用方式,說白了就像安裝驅動程序或者打一個補丁那么簡單。具體而言就是使用 Windows Update 進行更新,這樣可以獲得最新的內核版本,而無需更新整個 Windows 映像。
如果是第一次安裝 WSL ,就會在安裝過程中檢查更新并為您安裝 Linux 內核。
當然,你也可以在命令行里操作,直接下載軟件包。
在 Github 上,你可以看到完整的源代碼:WSL2-Linux-Kernel [2]。它基于 Linux 修改而來的,采取 Linux 內核的 GPLv2 開源許可證協(xié)議。
對于開發(fā)者來說,安裝了 Linux 內核之后,不僅僅是使用 Linux 命令行工具,而是可以運行其上的 GNU/Linux,這意味著你可以選擇不同的 Linux 發(fā)行版,比如 Ubuntu、Debian、SUSE 等等,這些發(fā)行版通過 Microsoft 商店就可以安裝。
開源的微軟,開源的社區(qū)
微軟對開源的支持今非昔比了。隨著 WSL 的發(fā)布,開發(fā)者已經形成了一個熱烈的開源社區(qū),甚至還辦起了開發(fā)者大會 WSLCONF [3] ,今年的 WSLCONF 就是 3 月 3 日,當然由于疫情原因,變成了一次線上活動。
開發(fā)者大會還是 Ubuntu 贊助的,圍繞 WSL主題進行各個方面的討論,其中社區(qū)的頭號人物就是 WSL的微軟項目經理克雷格·羅文(Craig Loewen)[4] 。
克雷格非常年輕,2018年剛從加拿大滑鐵盧大學機電工程畢業(yè),在校時實習經驗豐富,不僅做過微軟的實習生,還做過 FIRST 機器人大賽的評委。
作為微軟官方的 WSL 項目經理,克雷格在微軟開發(fā)者博客上也發(fā)布了他面對開發(fā)者的最新概述視頻《在 WSL2 上如何更快的開發(fā)程序》。
(雷鋒網注:上圖為克雷格的演講視頻截圖)
曾幾何年,微軟和 Linux 是操作系統(tǒng)領域最大的對手,為什么現(xiàn)在后者反而成了前者座上賓了?
Engadget 的評論認為,微軟現(xiàn)在越來越不依賴于 Windows 的銷售,而是更多依賴 Azure 這樣的云服務。而在服務器端和開發(fā)者端,更多的支持 Linux,就是更好的打造生態(tài)。