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


【 雷鋒網注:圖片來源:Pixabay 所有者:Efes Kitap 】

雷鋒網AI源創評論按:

在 Windows 上運行 Linux ? 這其實不是新鮮事,20 年前,就有黑客這麼幹過。

不過大體都是虛擬機的做法,速度慢,能跑的 Linux 應用也少。

三十年河東,三十年河西。微軟的開發者博客剛剛公佈 [1] ,下一個 Windows10 版本,不僅自帶 Linux 內核,而且還會通過 Windows Update 安裝方式更新,簡單得就像安裝驅動程序一樣。

大殺器

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

最早它起源於一個叫 Astoria 的項目,目的是為了讓一些Android 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 映像。


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

當然,你也可以在命令行裏操作,直接下載軟件包。
在 Github 上,你可以看到完整的源代碼:WSL2-Linux-Kernel [2]。它基於 Linux 修改而來的,採取 Linux 內核的 GPLv2 開源許可證協議。


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

開源的微軟,開源的社區

微軟對開源的支持今非昔比了。隨着 WSL 的發佈,開發者已經形成了一個熱烈的開源社區,甚至還辦起了開發者大會 WSLCONF [3] ,今年的 WSLCONF 就是 3 月 3 日,當然由於疫情原因,變成了一次線上活動。
開發者大會還是 Ubuntu 贊助的,圍繞 WSL主題進行各個方面的討論,其中社區的頭號人物就是 WSL的微軟項目經理克雷格·羅文(Craig Loewen)[4] 。

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


【 雷鋒網(公眾號:雷鋒網)注:圖片來源:craigloewen.com 所有者:Craig Loewen 】

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


(雷鋒網注:上圖為克雷格的演講視頻截圖)

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

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

引用資料:

[1] https://devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/

[2] Github:https://github.com/microsoft/WSL2-Linux-Kernel

[3] WSLCONF:https://www.wslconf.dev

[4] Craig Loewen:http://www.craigloewen.com

雷鋒網原創文章,未經授權禁止轉載。詳情見轉載須知



資料來源:雷鋒網
作者/編輯:張路

如果喜歡我們的文章,請即分享到︰

標籤: Windows 10  Linux