微軟發(fā)布“Ubuntu on Windows”項(xiàng)目 Linux程序可原生運(yùn)行在Windows 10
昨晚,北京時(shí)間3月30日23點(diǎn)30分,微軟 //Build 2016 開(kāi)發(fā)者大會(huì)在美國(guó)舊金山莫斯康展覽中心拉開(kāi)帷幕。在本次大會(huì)上宣布,微軟與 Ubuntu 的母公司 Canonical 合作開(kāi)發(fā)了一個(gè)超級(jí)隱秘的項(xiàng)目,將 Ubuntu 的用戶空間user space帶到了 Windows 10 之中。 據(jù)大會(huì)現(xiàn)場(chǎng)消息披露,你現(xiàn)在可以在 Windows 10 中直接運(yùn)行 Linux 下的 bash 以及其它的數(shù)萬(wàn)個(gè)二進(jìn)制程序了。
正在舊金山參加本次大會(huì)的 Canonical 的 Ubuntu 產(chǎn)品與戰(zhàn)略負(fù)責(zé)人 Dustin Kirkland 也在其博客上宣布了這個(gè)消息。
“這對(duì)于我來(lái)說(shuō)也許有點(diǎn)奇怪,我已經(jīng)快有16年沒(méi)有使用 Windows 了。但在幾個(gè)月前有了變化,我參與到了微軟和 Canonical 合作的一個(gè)超級(jí)隱秘(也十分令人震驚)的項(xiàng)目中,這一切會(huì)在這次 Build 大會(huì)上由 Kevin Gallo 揭曉...”,他說(shuō),“現(xiàn)在可以在 Windows 10 cmd.exe 窗口內(nèi)原生地運(yùn)行 Ubuntu 用戶空間和 bash !”
“好吧!這是一個(gè)運(yùn)行在虛擬機(jī)的 Ubuntu 嗎?” 不!這根本不是一個(gè)虛擬機(jī),沒(méi)有一個(gè)運(yùn)行在 hypervisor 中的 Linux 內(nèi)核啟動(dòng)過(guò)程,而是 Ubuntu 用戶空間。
“哦,那是運(yùn)行在容器里面啰?” 不不!這也不是一個(gè)容器,這是在 Windows 里面原生地運(yùn)行 Ubuntu 二進(jìn)制程序。
“嗯,就像 cygwin 那樣?”不不不!cygwin 所包括的開(kāi)源程序是以源代碼重新編譯后才能原生運(yùn)行在 Windows 上。而這里,我們說(shuō)的是一個(gè)比特都不差、校驗(yàn)值完全一樣的 Ubuntu 的 ELF 二進(jìn)制程序可以直接運(yùn)行在 Windows 下!
“那么,這就像是模擬器一樣么?”越來(lái)越接近真相了,來(lái)自微軟的一些技術(shù)人員正在研究一種技術(shù),將 Linux 的系統(tǒng)調(diào)用實(shí)時(shí)地轉(zhuǎn)換為 Windows 的系統(tǒng)調(diào)用。你可以把它當(dāng)成 Wine 的一種反向技術(shù)。微軟將其稱之為“Windows 下的 Linux 子系統(tǒng)Windows Subsystem for Linux”,當(dāng)然現(xiàn)在還沒(méi)有開(kāi)源。
如果你使用 Windows 10 來(lái)開(kāi)發(fā)跨平臺(tái)應(yīng)用,那么“Ubuntu on Windows”項(xiàng)目將可以讓你從 Windows 啟動(dòng)菜單直接訪問(wèn) Linux 下的 bash shell。只需要鍵入 bash ,然后回車,就會(huì)打開(kāi)一個(gè)命令行窗口,里面運(yùn)行著 /bin/bash,然后數(shù)以萬(wàn)計(jì)的來(lái)自 Ubuntu 軟件庫(kù)中的二進(jìn)制程序就可以運(yùn)行了,包括但不限于 apt、ssh、 rsync、 find、 grep、 vim、 emacs、 awk、 sed、 ruby、 tar、 sort、php、 mysql、 perl、 python、 wget、 md5sum、 gpg、 curl、 apache、 gcc、 diff、patch 等等。
“這是 Windows 上原生可用的完整 Ubuntu 環(huán)境,不是虛擬化或模擬器,這是打破常識(shí)的里程碑和通向新天地的里程碑,”Canonical 公司 CEO Mark Shuttleworth 說(shuō),“不管怎么說(shuō),我們很高興將 Ubuntu 帶到了 Windows ,以一種神奇的方式滿足了 Windows 開(kāi)發(fā)者探索 Linux 的需要。”
這個(gè)技術(shù)當(dāng)前基于 Ubuntu 14.04 LTS 開(kāi)發(fā),可以從 Windows Store 中下載早期 beta 版本。有關(guān)該項(xiàng)目的進(jìn)一步技術(shù)細(xì)節(jié),我們會(huì)在之后的文章中進(jìn)行探討。