微软前CEO鲍尔默曾说,Linux就是一个癌症,当时微软不待见Linux可能不仅仅是商业考虑,也是真心看不上“乌合之众”搞的这套操作系统。现在呢,互联网上的服务器大部分是Linux,越来越多的企业服务器选择了linux,就连微软也开始拥抱Linux了,推出了windows的Linux子系统,简称WSL。
Linux各发行版越做越强大,界面也越来越漂亮,但在桌面操作系统领域,如果选一个作为主操作系统的话,大部分人不会选择Linux,基本还是MacOS和Windows二选一。学习、开发、测试中的用到的Linux系统和服务器,很多人通过VMWare、virtualBox或Hyper-v来搭建虚拟机环境,这些管理工具创建的虚拟机其实还是比较笨重的,多台虚拟机环境的搭建也是比较麻烦的。我们可以使用微软的WSL来搭建各种Linux环境,WSL非常轻量,搭建一台linux虚拟机只需几秒。
目前的WSL版本是WSL2,她和WSL1很不同,WSL1提供了Linux和Windows的转换层,而WSL2直接使用虚拟化技术,性能也更高,本篇及之后的WSL文章都以WSL2做实例。
WSL2对windows的版本是有要求的,最低是windows10 2004 (Version 2004 OS Build 19041.264)上才可能运行,可以运行winver命令调出查看版本。WSL2只要Windows10家庭版就可使用,无需专业版或企业版。
添加WSL2功能:
查找windows features,打开”启用或关闭Windows功能”面板,选中“适用于Linux的Windows子系统”和“虚拟机平台”两个功能,无需添加hyper-v(实际上家庭版无此功能),点确定,系统开始安装,安装完成后,再重启系统。
更新WSL2内核:
访问 https://aka.ms/wsl2kernel,下载WSL2最新Linux内核并安装。
安装ubuntu系统:
查找“Microsoft store”,打开应用商店查找“ubuntu”,本次选择安装ubuntu20.04。安装后启动。
提示新建用户,新建kelemi,Ubuntu环境就搭好了。
下次要使用该系统,只需在Windows搜索框搜索ubuntu,或直接在菜单栏找到Ubuntu就可以了。
WSL版本切换测试:
打开powers hell,输入命令 wsl -l -v
可以看到运行的linux系统以及wsl的版本为2
我们可以尝试将WSL切换版本测试
wsl –set-version Ubuntu-20.04 1
wsl –set-version Ubuntu-20.04 2
Ubuntu-20.04是上一步wsl -l -v查到的linux系统,1表示为wsl1,2表示为wsl2,
我们也可以改变WSL的默认版本。
wsl –set-default-version 1
上面命令将改变wsl的默认版本为1。当然,我们将保持默认版本为2。
安装第二个Ubuntu:
再从应用商店下载一个ubuntu 18.04。完成后如图。
uname -a
lsb_release -a 查看
这样我们的机器里有windows10(宿主),ubuntu18.04,以及ubuntu20.04同时在运行。即使关掉两个ubuntu的shell,她们还在运行。
可以在powershell输入wsl -l -v查看。
如里wsl不加参数直接运行,就直接进入了ubuntu20.04
查看帮助及建议:
在PowerShell中输入wsl –help查看帮助,可以看到关闭命令为
wsl –shutdown
这样将关闭两个ubuntu,可以用wsl -l -v验证。
一般建议,用了wsl 不要再用 vmware或virtualBox,可能会比较慢,存在虚拟化嵌套问题。
WSL非常轻量,适合快速编译、部署、学习,而且她跟windows是紧密结合的。
比如在linux下某目录下运行
code .
将打开windows的vscode并开启编辑,系统提示安装WSL插件
然后就可以在windows下用vscode编辑、编译linux下的代码,相当于远程开发。
在ubuntu中可以用df -h查看,发现windows系统也也是挂载的,比如C盘就是/mnt/c,这样就很方便地从Linux管理Windows系统的文件了。
下一篇预告:
本篇初步介绍了WSL2的安装使用,下一篇将介绍 如何在WSL中使用Docker。