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