WSL發展如此迅速,有沒有可能會在未來替代原生Linux?


如果是 WSL1 真的發展,倒是有可能一定程度替代Linux,因為它跟 Linux 確實存在替代關係,它替代了Linux內核接駁到GNU上層,相當於把 Linux 替換掉了,這個 WSL 中可以原生的運行 Linux 程序以及 Windows 程序,是 cygwin 的完美替代。

但 WSL2 就不同了,它本身就是 Linux ,相當於在 Windows 內開了一個虛擬機運行 Linux。這個模式下,沒了 Linux 就根本沒法運行 WSL2,因此自然, WSL2 沒有辦法取代 Linux。如果微軟的發展方向是 WSL2,那麼,永遠不可能取代 Linux。

其實虛擬機一直都有,如果我要的只是個虛擬機,根本沒必要等待 WSL2 的到來。而事實上,我一直都反對使用虛擬機,因為這真的不是一個舒服的解決方案。

所以在我看來,WSL2不是什麼飛速發展,而是開倒車。從一個非常牛逼的系統級支持方案(WSL1)變成了鶸的虛擬機方案(WSL2)。給WSL愛好者當頭澆了個透心涼。

MacOSX為什麼受到開發者追捧?因為它的那一套POSIX/GNU上層,是完全系統原生的,而不是運行在一個虛擬機中。為什麼我如此看好 WSL1 ?因為它的實現方式比 OSX 更舒服!畢竟Linux的包管理系統比 homebrew 好用太多太多。

微軟要是真想取代 Linux,就應該繼續發展 WSL1,把 Linux 變成 Windows 的一部分。不過現在看來,微軟大概並不是這樣想的。——所以我發現,在可以預見的將來,Windows也沒有辦法取代Linux。


按照你的說法,其實原生Linux早就被打敗了……

90%的Linux系統跑在虛擬機裡面……

WSL2和他們有什麼區別?


反對所謂「WSL2是開倒車」的觀點。

WSL1下交叉編譯是有問題的。理由也說了,WSL1就是個長得像Linux的縫合怪。

我們要用WSL的時候,我們很清楚自己要什麼——我們就是需要在Windows上方便地使用Linux。我們不想要在物理機上跑Linux,因為不方便;我們也不太想要縫合怪,因為我們仍然想全面地兼容系統調用。

何況WSL2的I/O性能還更好[1]。也不知道WSL1怎麼就成了系統級支持方案,WSL2就成了弱雞了。貸款奪冠?

回到原問題。

「所有爭論都是名詞之爭」。這個問題就在於我們怎麼看待「替代」這兩個字。

原生Linux會消失嗎?當然不可能。沒有Linux,何來Windows Subsystem for Linux。摻了水的汽油如此便宜,有可能替代汽油么?

但是。

WSL好用嗎?我覺得好用。

WSL會改變很多人在Windows上使用Linux的方式嗎?我覺得會。

參考

  1. ^Comparing WSL 2 and WSL 1 https://docs.microsoft.com/en-us/windows/wsl/compare-versions


WSL發展如此迅速,也就從NT時就有的子系統性質的WSL1發展到虛擬機性質的WSL2,原來沒有虛擬機嗎?

不可能取代,宣揚這個論調的一般都是原來用Windows偶爾用不得不用Linux的人,不是原來就用Linux的人。


你們啊,不要總想搞個大新聞。

WSL 前兩個單詞是什麼?Windows Subsystem 啊!

一切用 WSL 的前提都是,你是個 Windows 的深度用戶,離不開 Windows 的豐富生態。

以前 Windows 對 Linux 很不好,總覺得有刁民想害朕,不能便宜了這小子。

現在 Windows 則是 MDGA,Make Developers Great Again,從 WSL 到 VSCode,從 Windows Terminal 到 GitHub,都是在向開發者示好。

WSL 自始至終都只面對開發者,特別是那些同時喜歡 Windows 桌面環境和 Linux 開發環境的開發者,它的野心沒那麼大。

再者說,Linux 也不止是開發者們的玩物,也有更大的應用場景。原生 Linux 的價值從來都沒有被 WSL 折損,反而借 WSL 把觸角延伸到了更大的人群,這也是 Linux 的勝利。

Windows 還是 Linux?WSL 給出了答案。


WSL發展如此迅速,未來有可能替代VMWare。

為什麼不用Mac OS?因為Mac OS rm * -i會翻車。所以我還是想用真的Linux。

鑒於Windows下tty模擬器大多沒有Mac好用,所以我覺得我們需要一個Mac Subsystem for Linux。

名字我都想好了,叫MSL。

以後出現重大變革之後不要像Windows一樣在後面加2,在前面加個next-generation,然後縮寫為N...。


不可能。

所謂原生的Linux,指的不應該是Linux 發行版,而是Linux內核,WSL只不過是套了個狼皮的Linux,運行在虛擬機裡面的Linux。可以說,他實現的是一個運行Linux的一個容器~


能,而且未來應該是Linux代替Windows

WSL2 適用於在 Windows 上運行 Linux 的 Windows 子系統 ELF64 Linux 二進位文件,其實是Linux內核跑在Hyper-V下,目前能滿足linux學習和大部份開發的需求。

但不能替代原生的linux,因為操作系統朝開源、自主可控方向發展趨勢不可逆轉。

現在雲平台(包括微軟 Azure) 底層操作系統和大多數應用伺服器操作系統都是Linux。桌面系統現在大多使用windows和MacOs,中美貿易戰打壓華為事件讓我們清楚:晶元和自主可控操作系統。

微軟2017年開始擁抱開源,值得期待:通過轉移到Linux 平台,或者發布 Lindows 作為「經典 Windows」操作系統的替代品, 提供給大家一個更穩定和更安全的桌面操作系統。


其實來說,WSL就是一個虛擬機,代替不能真正的Linux伺服器


肯定不會呀。就像 macos 不會替代 linux 一樣。

wsl 就是一個跟 windows 系統深度集成的虛擬機,為開發者提供近乎原生的 linux 開發體驗。也就是這樣了。以後使用 linux 桌面版的同學、甚至使用 macos 的同學都可能遷移到 windows + wsl 上。windows 下豐富的圖形桌面生態加上 linux 下龐大的雲服務生態,簡直是強強聯合,相得益彰。

什麼好就用什麼。


WSL 絕不會代替 Linux,它只能打敗 MacOS


替代,不會。

但是個人用戶想要用Linux,很大一部分人將會選擇WSL。做開發測試虛擬機也好,直接在Windows 10下安裝使用,不需要安裝雙系統折騰虛擬機,太方便了吧。

但是伺服器、嵌入式計算機還是會用原生Linux,龐大不穩定的Windows肯定不會是首選。


作為開發工具是合格的,除此之外應該沒卵用


不會

我為什麼不直接使用Linux,反而用個Windows Server+WSL?

那我還不如直接Windows Server


不可能代替linux。即使是wsl1繼續發展,也不可能代替linux。

wsl1也不過是一個中間轉換層,換句話說,不管怎樣都有效率損失。

無論你利用wsl1在windows平台開發了什麼東西,最終你都不得不放到真正的linux去生產環境運營。

微軟早就看透了這點,然後發現wsl1要100%兼容linux是幾乎不可能完成的任務,無論怎麼努力,都有一部分人不得不繼續在linux下開發。所以才改成wsl2這種模式吧。反正生產環境是肯定要切換到linux下的,那麼開發環境就100%全兼容吧,那就只有wsl2才有可能。

剛剛編譯了linux kernel 5.7 成功的在wsl2下跑起來了,io_uring什麼的都能用,還是很爽的。


不會,因為windows會更新,自動更新在日常生活和伺服器上會要命


很難,除非,wsl的速度上去。

wsl2的cpu性能,相比wsl1,其實是下降的,而且存儲速度提升根本不明顯。

如果你是一個開發調試編譯很費時長的項目,那你不應該選擇wsl,低效的磁碟io和cpu性能,會大大增加你的開發時間。

比如你編譯一次真機需要2分鐘,那麼wsl就會花費3分鐘。


不會


[i] 還是回來回答一些題目相關的吧

wsl是不可能取代原生linux的。這點微軟的devblog裡面也有提及。wsl面向的是應用開發環境;生產環境,甚至是staging上也都是強烈不建議使用的(雖說硬要在winserver上用也沒人攔你)。在wsl上搞驅動和虛擬機開發,現在看來也是自找麻煩

憑這點,你只能說在桌面領域,wsl有取代原生linux的可能;不加這個限制詞,這話就錯了。

儘管如此,我個人還是建議新手開發者先在正宗的linux桌面里摸爬滾打上一段時間,然後再用wsl

或許這樣你能更加清楚wsl可以做什麼,不可以做什麼

起碼你會知道跟kvm、OpenStack相關的事情,wsl上是不可能做的(你若覺得嵌套虛擬化靠譜那當我沒說)

手動分割線

? off-topic警告

看到有很多人在噴(包括之前的我)wsl2開技術棧倒車的

然而仔細看看微軟描繪的架構,現有hyper-v架構的子集。。沒人覺得子集這倆字暗藏玄機么?

wsl2的虛擬化到底是怎麼做的?

所有的實例全在一種介於虛擬機和容器之間的狀態啊

不覺得有當年docker橫空出世內味么?

你可以說這然並卵,也可以說它沒有創新。但是你說出這句話的同時,也就等於在親口承認你日常使用的dockerd、ipython、甚至是jb全家桶也是沒有價值的。


不會,linux的應用在桌面端本來就很少

wsl也就是提升了Windows下linux的開發體驗而已


推薦閱讀:

TAG:Linux | Linux軟體 | linux學習 |