首頁 > 軟體

關於WSL(Windows上的Linux子系統)的簡單介紹及安裝

2020-06-16 17:03:53

    WSL,Windows Subsystem for Linux,就是之前的Bash on [Ubuntu on] Windows(嗯,微軟改名部KPI++),在wsl環境下我們可以執行一些Linux程式。

    首先要說一句,其實Windows 10在一週年更新(1607,內部版本14393)的時候就加入了wsl,但是直到剛剛更新的秋季創意者更新(1709,內部版本16299),wsl才正式脫離beta,逐漸趨於穩定,所以我選擇這個時候再寫這篇文章。以下內容都是基於秋季創意者更新(1709,內部版本16299.19)。

    接下來,我們正式介紹並安裝wsl。

Windows Subsystem for Linux(簡稱WSL)是一個為在Windows 10上能夠原生執行Linux二進位制可執行檔案(ELF格式)的相容層。它是由微軟與Canonical公司合作開發,目標是使純正的Ubuntu 14.04 "Trusty Tahr"映像能下載和解壓到使用者的本地計算機,並且映像內的工具和實用工具能在此子系統上原生執行。

WSL提供了一個微軟開發的Linux相容核心介面(不包含Linux程式碼),來自Ubuntu的使用者模式二進位制檔案在其上執行。

該子系統不能執行所有Linux軟體,例如那些圖形化使用者介面,以及那些需要未實現的Linux核心服務的軟體。不過,這可以用在外部X伺服器上執行的圖形X Window系統緩解。

此子系統起源於命運多舛的Astoria專案,其目的是允許Android應用執行在Windows 10 Mobile上。此功能元件從Windows 10 Insider Preview build 14316開始可用。

——維基百科

    首先開啟設定,進入應用,選擇程式和功能,點選啟用或關閉Windows功能,勾選適用於Linux的Windows子系統,接下來重新啟動。

    在beta的時候我們需要在powershell裡面輸入bash才能下載wsl,而且沒有國內下載節點,不支援斷點續傳,所以一旦網路不穩定就廢了。在1709版本的Windows10中,我們可以去商店搜尋Ubuntu來下載,現在不但有Ubuntu,還有SUSE和openSUSE。(在Windows商店裡下載Ubuntu是不是感覺很詭異w(?Д?)w

    安裝完成之後我們就可以進行折騰了,有人可能會好奇那如何使用windows上的檔案呢?其實windows的目錄全部掛載在/mnt這個目錄下,我們可以在/mnt/c目錄下看到C槽的各種檔案。好了,先執行一下screenfetch來看看。

    作為一個Java web developer,常用的大概就是ssh,git,jdk,tomcat,nginx等等。我們一一來測試一下。

SSH

    我們可以看到ssh遠端連線可以正常使用,所以嘛putty或者xshell這種東西可以解除安裝了(逃

 Git

  git的各種命令也很正常。

JDK

    接下來測試jdk,我們來編譯一小段程式碼試試看,可以看到jdk也沒什麼問題。

Tomcat&Nginx

    我們啟動tomcat,然後在Edge瀏覽器裡面存取,便可以看到tomcat的預設首頁,是不是很神奇?當然nginx也是沒有問題的。

    另外,gcc和clang經過測試也可以使用,這裡就不再展示了。    

    據說大神們已經可以在wsl上執行圖形化的Linux程式了,這點我沒有測試過,有興趣的小夥伴可以自行折騰。

    那如果我們把wsl裡面的環境折騰亂掉怎麼辦?得益於Windows商店的好處,我們只要解除安裝並重新在商店下載即可。

    最後,我認為wsl對windows平台的開發者絕對是重大利好,一方面,一部分linux上好用的工具也可以在windows平台上使用了,另一方面,在windows上開發好的程式可以直接部署到wsl上測試,這樣就能保證開發環境和生產環境盡可能的相似。好了,Enjoy it!

(btw,貼幾個wsl的相關資料,感興趣的小夥伴自行閱讀研究。

release notes:

https://msdn.microsoft.com/en-us/commandline/wsl/release_notes

WSL團隊的blog:

https://blogs.msdn.microsoft.com/wsl/

issue tracker:

https://github.com/Microsoft/BashOnWindows/issues

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-10/147961.htm


IT145.com E-mail:sddin#qq.com