雙系統的日子結束了:Windows和Linux將合二爲一

雲棲號資訊:【點擊查看更多行業資訊
在這裏您可以找到不同行業的第一手的上雲資訊,還在等什麼,快來!

image

很長一段時間以來,雙系統是我唯一的解決方案。

我一直在用的是一臺蘋果筆記本,它幾乎可以做任何事:開發、寫提案、創作音樂等。但它也不是十全十美的,我很害怕供應商被鎖定,也擔心自己過於依賴蘋果的奇思妙想,因此我也在尋求新的解決方案。

筆者着手搭建了一個機器學習工作站;出色的CPU、大量的RAM和性能極佳的GPU等等。除了要用Microsoft Office寫提案,我選擇用的操作系統幾乎都是Ubuntu。

Office online還沒有面市,而LibreOffice很糟糕。因此,我的解決方案是安裝Ubuntu和Windows 10雙系統。從蘋果系統切換到Ubuntu非常自由,而且選擇構建個人PC幾乎沒有界限。

在無數次系統切換之後,WSL出現了。筆者開始將工作流程的一部分移到Windows,但還是有很多功能缺失。然而,WSL 2似乎改變了遊戲規則。本文將爲你展示這些奇妙的改變。

什麼是WSL 2

WSL2是WSL中體系結構的新版本,它更改了 Linux 與 Windows 進行交互的方式。

image

該版本提高了文件系統性能,並增加了完全的系統調用兼容性。當然,Linux 分發版可以作爲 WSL 1 或 WSL 2 運行,你可以自行選擇,並且可以隨時在它們之間進行切換。

WSL 2 是對基礎體系結構的一次重大改造,它使用虛擬化技術和 Linux 內核來實現其新功能。微軟處理了瑣碎的細節,這樣你就可以專注於重要的事情了。

安裝

微軟承諾將在不久的將來會爲WSL 2提供流暢的安裝體驗,並且能夠通過Windows更新來更新Linux內核。但目前的安裝過程有點複雜,但也不必憂慮。

示例中將在Windows 10上安裝Ubuntu20.04,但對於微軟商店中的任何分發版來說,安裝過程都是一樣的。首先,啓用“適用於 Linux 的 Windows 子系統”可選功能。以管理員身份打開PowerShell並運行:

dism.exe /online /enable-feature/featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

接下來,將系統更新到WSL 2,必須滿足以下條件:Windows 10已更新到版本2004;在BIOS設置中啓用Intel的“虛擬機平臺”。然後,以管理員身份啓動PowerShell並運行:

dism.exe /online /enable-feature/featurename:VirtualMachinePlatform /all /norestart

接着重新啓動計算機,以完成 WSL 安裝並更新到 WSL 2。然後,在安裝新發行版時,將WSL 2設置爲默認版本。以管理員身份打開PowerShell 並運行以下命令,以將 WSL 2 設置爲默認版本:

wsl --set-default-version 2

運行該命令後可能會看到以下命令:

WSL 2 requires anupdate to its kernel component. For information please visithttps://aka.ms/wsl2kernel.

按照鏈接從該頁安裝MSI,在計算機上安裝一個Linux內核,供WSL 2使用。安裝內核後,再次運行該命令,該命令應成功完成。

image

最後,安裝所選Linux分發版。打開微軟商店,搜索Ubuntu 20.04LTS。安裝完成後,在開始菜單上找到一個新的Ubuntu應用,啓動並按照說明完成安裝。

檢查所選Linux分發版是否設置爲WSL 2,請運行wsl --list –verbose。若所選Linux分發版受WSL 1支持,請運行wsl --set-version。

完成啦!這樣就可以有一個完整的Ubuntu分發版在Windows 10中運行。

開發人員工作站

Ubuntu已經準備好,現在可以安裝任何所需程序了。如果你是數據科學家,則可以安裝最新的Anaconda發行版;如果你是前端工程師,則可以安裝angular和npm等。

image

有兩個工具筆者想重點講一下:Visual Studio Code和Docker + Kubernetes。

VisualStudio Code

Visual Studio Code是許多開發人員選擇的集成開發環境(IDE),現在已啓用WSL 2,VS Code的遠程開發擴展包(Remote Development)絕對必不可少。

此插件支持WSL 2、容器映像甚至通過SSH的遠程VM上的源代碼進行遠程開發。因此,現在可以在受WSL 2支持的Linux分發版中創建項目文件夾,並使用安裝在Windows 10上的Visual Studio Code編輯器作爲IDE。

它的功能包括:全語言支持IntelliSense,git集成, Visual Studio Code擴展,調試器和終端。

Docker +Kubernetes

Docker for Windows很出色,但它缺少一樣筆者最想要的東西,因此每當需要爲代碼構建docker映像時,我就得在Windows和Ubuntu之間切換。但WSL 2完全支持docker,這甚至比純粹的Linux體驗更好。

若要啓動,請點擊Docker Desktop設置,勾選啓用基於WSL 2的引擎複選框 Use the WSL 2 basedengine 。

image

啓動Dockerfor WSL 2

此外,可以通過點擊設置中的Kubernetes按鈕,勾選Restart Kubernetes Cluster複選框,來運行本地Kubernetes集羣。

image

啓用Kuberneteson WSL 2

現在,可以在切換回WSL 2中的Ubuntu,運行docker version或kubectl version ,並確認這兩個版本已經啓動並運行。

image

Docker和Kubernetes在WSL 2中運行

應用商店將新的Windows Terminal定義爲一個現代化、快速、高效、強大、高產的終端工具,供命令行工具和shell(如命令提示符,PowerShell和WSL)的用戶使用,主要功能包括多Tab支持、窗格、Unicode和UTF-8字符支持、基於 GPU 運算的文本渲染引擎,以及自定義主題、樣式和配置。

此外,它非常美觀,可以通過它的可訪問設置(僅僅是一個JSON文件)隨心所欲地設置樣式。

產品路線圖

image

現在仍然缺少一些功能,但WSL 2運行已經暢通無阻了。在接下來的幾個月裏,我們還可以用一個命令安裝WSL。打開一個Windows Terminal並輸入 wsl.exe --install。此外,在首次進行安裝時,WSL 2 將成爲默認版本。

開發者最期待的功能有兩個:GPU支持和GUI應用支持。自從WSL 1發佈以來,向 WSL 添加 CUDA 和/或 GPU Compute 支持一直佔據很高的呼聲。過去幾年中,WSL、Virtualization、DirectX、Windows Driver 團隊,以及他們的芯片合作伙伴一直在致力於提供此功能。

1

在WSL 2上訓練深度學習模型(啓用CUDA)

此外,Linux還將支持GUI應用程序。例如,可以在已安裝的Linux環境中運行首選的Linux GUI文本編輯器或IDE,甚至可以在Windows機器上開發Linux GUI應用程序!

image

WSL2支持Linux GUI

WSL 2完全有能力將Windows PC變成運行Linux分發版的開發人員工作站,它速度在線,功能在線,未來還有更多值得探索的東西。雙系統的日子就要結束了,更極致的體驗依然到來。

【雲棲號在線課堂】每天都有產品技術專家分享!
課程地址:https://yqh.aliyun.com/live

立即加入社羣,與專家面對面,及時瞭解課程最新動態!
【雲棲號在線課堂 社羣】https://c.tb.cn/F3.Z8gvnK

原文發佈時間:2020-07-06
本文作者:讀芯術
本文來自:“讀芯術公衆號”,瞭解相關信息可以關注“讀芯術

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章