微软 win10 变身开发者利器:内置 linux 内核人人可用,像安装驱动一样方便 - windows 10,linux - it之家

2021-10-08 17:40:35

微软 win10 变身开发者利器:内置 linux 内核人人可用,像安装驱动一样方便

2020/3/16 21:13:01来源:雷锋网作者:张路责编:远洋评论:

在 windows 上运行 linux ? 这其实不是新鲜事,20 年前,就有黑客这么干过。

不过大体都是虚拟机的做法,速度慢,能跑的 linux 应用也少。

三十年河东,三十年河西。微软的开发者博客刚刚公布 [1] ,下一个 windows10 版本,不仅自带 linux 内核,而且还会通过 windows update 安装方式更新,简单得就像安装驱动程序一样

大杀器

这个大杀器叫做 wsl ,  全称是“适用于 linux 的 windows 子系统”(windows subsystem for linux),它其实也不是一夜间冒出来的,只是一直默默无闻。

最早它起源于一个叫 astoria 的项目,目的是为了让一些安卓 app 运行在 windows 10 移动版上。

但它的目标并不是硬件仿真或者虚拟化这样的项目,或者像流行的 cygwin 这样的第三方 linux 环境。

它的设计目标是一个完整的 linux 子系统,可以直接使用主机的文件系统,比如允许用户在同一组文件上使用 windows 应用程序和 linux 工具;也可以调用硬件的某些部分,这是微软官方提供的在 windows 环境下运行 linux 软件的最直接方式。

比如直接使用 gnu linux 的命令行工具,各种编程语言诸如 python、ruby 的解释器,甚至像 xwindow 这样的图形应用程序。

当然,微软指出 wsl 主要是面向应用程序的开发者,而不是日常的桌面环境。对于主力开发环境是 windows ,但时不时需要用到 linux 的开发者、老师或学生来说,堪称提高效率的开源神器。

下个月就可能发布

这个要推出的 windows10 版本号是 2004,根据 yymm 格式的命名规则,2004 就是 2020 年 4 月,当然 5 月发布也不奇怪,windows insider 里则可以先行体验。

这次更新的其实是 wsl 第二个版本(wsl2) ,它比上一个版本 wsl1 要强大得多,它打包了真正的 linux 内核,推进到了普遍可用(ga,generally available)的状态。

特别是它大幅度提高了文件系统 i/o 性能,可以在 windows 上直接运行 linux 二进制文件。wsl1 是通过转换层,对系统调用还要做翻译;而 wsl2 则包含自己的 linux内核,具有完整的系统调用兼容性,比如像 linux 版本的 docker 这样的开源程序,就可以直接调用。

wsl2 是在 2019 年 6 月的 微软 build 大会上宣布的,到这次即将要达到的人人可用的状态,花了接近一年的时间。

如何安装使用

这次 wsl2 最值得称道的,就是它简便的安装和使用方式,说白了就像安装驱动程序或者打一个补丁那么简单。具体而言就是使用 windows update 进行更新,这样可以获得最新的内核版本,而无需更新整个 windows 映像。

如果是第一次安装 wsl ,就会在安装过程中检查更新并为您安装 linux 内核。

当然,你也可以在命令行里操作,直接下载软件包。

在 github 上,你可以看到完整的源代码:wsl2-linux-kernel [2]。它基于 linux 修改而来的,采取 linux 内核的 gplv2 开源许可证协议。

对于开发者来说,安装了 linux 内核之后,不仅仅是使用 linux 命令行工具,而是可以运行其上的 gnu/linux,这意味着你可以选择不同的 linux 发行版,比如 ubuntu、debian、suse 等等,这些发行版通过 microsoft 商店就可以安装。

开源的微软,开源的社区

微软对开源的支持今非昔比了。随着 wsl 的发布,开发者已经形成了一个热烈的开源社区,甚至还办起了开发者大会 wslconf [3] ,今年的 wslconf 就是 3 月 3 日,当然由于疫情原因,变成了一次线上活动。

开发者大会还是 ubuntu 赞助的,围绕 wsl主题进行各个方面的讨论,其中社区的头号人物就是 wsl的微软项目经理克雷格·罗文(craig loewen)[4] 。

克雷格非常年轻,2018年刚从加拿大滑铁卢大学机电工程毕业,在校时实习经验丰富,不仅做过微软的实习生,还做过 first 机器人大赛的评委。

【 雷锋网注:图片来源:craigloewen.com  所有者:craig loewen 】

作为微软官方的 wsl 项目经理,克雷格在微软开发者博客上也发布了他面对开发者的最新概述视频《在 wsl2 上如何更快的开发程序》。

(雷锋网(公众号:雷锋网)注:上图为克雷格的演讲视频截图)

曾几何年,微软和 linux 是操作系统领域最大的对手,为什么现在后者反而成了前者座上宾了?

engadget 的评论认为,微软现在越来越不依赖于 windows 的销售,而是更多依赖 azure 这样的云服务。而在服务器端和开发者端,更多的支持 linux,就是更好的打造生态。

参考

  • [1] https://devblogs.microsoft.com/commandline/wsl2-will-be-generally-available-in-windows-10-version-2004/

  • [2] github:https://github.com/microsoft/wsl2-linux-kernel

  • [3] wslconf:https://www.wslconf.dev

  • [4] craig loewen:http://www.craigloewen.com

相关文章

关键词:windows 10linux

Copyright © 夜幻游戏网 @2021