日常開發(fā)中總會遇到一些只能在linux下運行的軟件或者框架骗露,讓像我這樣的windows重度使用者甚是煩惱抡诞,估計是微軟良心發(fā)現(xiàn)了炕桨,終于出手在windows下也可以跑linux了,從此什么虛擬機捌锭、cygwin都見鬼去吧!本文將介紹如何在windows下安裝linux并使用罗捎。
什么是WSL观谦?
WSL是Windows Subsystem for Linux的簡稱,就是Windows系統(tǒng)上的一個Linux子系統(tǒng)桨菜,安裝后豁状,不用再安裝臃腫的Vmware和VirtualBox等虛機機系統(tǒng),就可以直接在Windows上體驗原生的Linux應用了倒得,目前微軟主要是和Canocical進行合作替蔬,推出的是Ubuntu系統(tǒng),未來將會有更多的發(fā)行版供選擇屎暇。
能做什么承桥?
Windows子系統(tǒng)Linux允許開發(fā)人員直接在Windows上運行GNU / Linux環(huán)境 - 包括大多數(shù)命令行工具,實用程序和應用程序 - 未經(jīng)修改根悼,無需虛擬機的開銷凶异。
開始安裝Linux
準備
Tip
- 本文適用于Windows build 16215或更高版本,建議升級windows 10到最新版本挤巡。
- 在為WSL安裝任何Linux發(fā)行版之前剩彬,必須確保啟用“Windows Subsystem for Linux”可選功能,設(shè)置后需要重啟電腦矿卑,注意重啟前該保存的保存喉恋。
開啟“Windows Subsystem for Linux”的兩種方式:
- 以管理員身份打開PowerShell并運行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
- 打開“啟用或關(guān)閉windows功能”(從微軟小娜或者控制面板中搜索打開):
[圖片上傳失敗...(image-1e0cba-1547642734845)]
選擇Linux安裝
- 打開Microsoft Store搜索Linux,會出現(xiàn)Linux的專題母廷,點擊“獲取這些應用”按鈕轻黑。
[圖片上傳失敗...(image-a82b34-1547642734845)]
- 目前支持的Linux系統(tǒng)有 Ubuntu、SUSE琴昆、Debian氓鄙、Kali,估計以后會支持更多的Linux發(fā)行版本业舍,選擇一個喜歡的Linux安裝抖拦,此處我選擇的是 Ubuntu 系統(tǒng)。
[圖片上傳失敗...(image-9871fe-1547642734845)]
- 安裝后需要進行初始化舷暮,啟動一個新的實例态罪,可以通過單擊Windows應用商店應用中的“啟動”按鈕,或從“開始”菜單啟動已安裝的 Ubuntu 來執(zhí)行此操作下面。
[圖片上傳失敗...(image-3d59ef-1547642734845)]
- 第一次啟動運行時复颈,將打開一個控制臺窗口,需要等待一兩分鐘才能完成安裝诸狭。
初始化過程中券膀,Linux系統(tǒng)文件被解壓縮并存儲在電腦上君纫,以后可以隨時使用驯遇。這可能需要大概一分鐘左右芹彬,以后再次運行基本都是很快的。
- 安裝完成后叉庐,系統(tǒng)將提示您創(chuàng)建新的用戶帳戶及密碼舒帮,此賬戶和密碼與windows系統(tǒng)沒有任何關(guān)系。
[圖片上傳失敗...(image-86bff5-1547642734845)]
當打開一個新的Linux命令行窗口后陡叠,是不需要輸入用戶名玩郊、密碼的,但是如果使用sudo
命令則將被要求輸入密碼枉阵,建議密碼盡量設(shè)置的簡單一些译红。
- 更新軟件包,執(zhí)行以下命令:
sudo apt update && sudo apt upgrade
用戶賬戶和權(quán)限
- 創(chuàng)建的Linux賬戶將是Linux系統(tǒng)的默認賬戶兴溜,會在Linux系統(tǒng)啟動后自動登錄侦厚,此帳號默認隸屬于Linux管理員。
- 不同的Linux子系統(tǒng)的賬戶是相互獨立的拙徽,每次安裝新的Linux子系統(tǒng)時都需要創(chuàng)建新的賬戶刨沦。
- Windows和Linux的權(quán)限是相互獨立互不影響的。Windows權(quán)限模型管理進程對Windows資源的權(quán)限膘怕;Linux權(quán)限模型控制進程對Linux資源的權(quán)限想诅。
WSL管理和配置
- Unbutu 系統(tǒng)安裝的 windows 目錄
C:/Users/XXX/AppData/Local/Packages/CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc/LocalState/rootfs/
[圖片上傳失敗...(image-8daa75-1547642734845)]
- 在Windows下運行Linux子系統(tǒng)的方法有:
- 在開始菜單中搜已安裝的Linux子系統(tǒng)點擊直接啟動運行
- wsl.exe 或者 bash.exe
- wsl [command] 或者 bash -c [command]
在命令行中運行
wsl
會直接進入默認的Linux子系統(tǒng),并保留當前的工作目錄岛心,而在命令行中運行Linux子系統(tǒng)(例如:ubuntu)則會進入主目錄来破。常用命令
- Linux子系統(tǒng)啟動后會自動將各個盤符下的目錄掛載到
/mnt/
目錄下
訪問C盤:/mnt/c/
訪問D盤:/mnt/d/
...
- 列出所有可用的Linux子系統(tǒng)
wslconfig /list
- 列出所有的Linux子系統(tǒng),包括不可用的
wslconfig /list /all
- 設(shè)置默認的Linux子系統(tǒng)忘古,設(shè)置后執(zhí)行 wsl [command] 將會在此默認的Linux子系統(tǒng)中運行
wslconfig /setdefault <DistributionName>
- 卸載Linux子系統(tǒng)
wslconfig /unregister <DistributionName>
警告
卸載后讳癌,與該Linux子系統(tǒng)相關(guān)的所有數(shù)據(jù)、設(shè)置和軟件將永久丟失存皂。從商店重新安裝將安裝新的Linux子系統(tǒng)晌坤。
構(gòu)建自定義的Linux子系統(tǒng)
WSL不僅僅支持 Windows Store 里的那幾個 Linux 系統(tǒng),其實還支持 RedHat旦袋、CentOS 等 Linux 系統(tǒng)骤菠,只不過微軟官方?jīng)]有去搞,而是留給了開發(fā)者自己去自定義創(chuàng)建和維護疤孕,具體創(chuàng)建可以參考其Github Distro Launcher GitHub存儲庫 上的說明創(chuàng)建自定義Linux發(fā)行版程序包商乎。
但我覺得大部分有需求的基本都是想要個現(xiàn)成的系統(tǒng)來安裝,Github https://github.com/yuk7/wsldl 這個項目就維護了不少 Linux 系統(tǒng)祭阀,包括:Alpine Linux鹉戚、Arch Linux鲜戒、Artix Linux、CentOS抹凳,參考說明即可很方便的安裝遏餐。
[圖片上傳失敗...(image-1f3481-1547642734845)]
由于服務器端一般都選擇 CentOS 系統(tǒng),所以為了保持開發(fā)和生產(chǎn)環(huán)境一直赢底,我本機安裝的是 CentOS失都,安裝非常方便,下載下來安裝包后幸冻,解壓到安裝目錄下粹庞,以管理員身份運行
CentOS.exe即可,安裝完成后通過執(zhí)行命令 wslconfig /list
就會發(fā)現(xiàn)wsl下多了個 CentOS 系統(tǒng)洽损。
[圖片上傳失敗...(image-29b82f-1547642734845)]
這個 CentOS 其實是從 docker 里鏡像過來的庞溜,是個精簡版的操作系統(tǒng),很多命令都是缺失的碑定,如果想用需要自己去 yum
安裝流码。
Tip
安裝一定要以管理員身份去運行,否則可能會安裝失敗不傅。
原創(chuàng)文章轉(zhuǎn)載請注明:轉(zhuǎn)載自:windows下安裝linux子系統(tǒng)