微软更新Linux子系统,编译WSL 2内核只需3步

今年,微软在Build大会上向开发者放了两个“大招”:Windows TerminalWSL 2。两个工具都是为了向开发者提供类似于Linux的体验。

WSL 2是第二代Windows上的Linux子系统。相比第一代,它带来了如下新的变化:

文件系统性能提升,完整的系统调用兼容性。

这也意味着开发者可以在WSL 2中运行更多Linux应用程序,例如Docker

WSL 2允许开发者像在Linux中一样使用git clone、npm install、apt update、apt upgrade等命令。

微软官方表示,在WSL 2运行tar解压缩的速度比WSL 1快20倍,在各种项目中使用git clone、npm install和cmake时速度能提高约2-5倍。

最近,微软更新了WSL 2相关文件,让这款开源工具再次冲到GitHub趋势榜前三。

我们趁此机会将WSL 2完整安装步骤整理一下,希望对你能有所帮助。

安装WSL 2

安装WSL 2需要Windows 10版本是Build 18917或更高,首先先确认系统版本已升级。

在“启用或关闭Windows功能”中启用以下两个选项:Windows虚拟机平台、适用于Linux的Windows子系统。

启用这些更改后,重新启动计算机。

在Windows应用商店中选择需要安装的Linux发行版。

在PowerShell中运行:

wsl --set-version <Distro> 2

<Distro>是你安装的Linux发行版名称。

如果想让WSL 2成为默认架构,可以执行以下操作:

wsl —set-default-version 2

这将使所有安装的Linux发行版初始化为WSL 2。

编译WSL 2内核

微软还在GitHub上更新了编译WSL 2内核的步骤,只需3步:

1、从微软商店安装最新的Ubuntu发行版

2、打开Ubuntu子系统,安装内核组件:

sudo install build-essential flex bison libssl-dev libelf-dev

3、编译WSL:

make KCONFIG_CONFIG=Microsoft/config-wsl

GitHub页:

https://github.com/microsoft/WSL2-Linux-Kernel

本文分享自微信公众号 - CU技术社区(ChinaUnix2013)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-14

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏LINUX阅码场

Kasan - Linux 内核的内存检测工具

https://www.ibm.com/developerworks/cn/linux/1608_tengr_kasan/index.html

9810
来自专栏江湖安得便相忘

简述:Rust-1.38.0 RELEASE NOTE

mac OS更新,如果使用brew安装的,那么恭喜你,现在brew上面只能更新到1.37.0:

7430
来自专栏LINUX阅码场

Linux内核之旅/张凯捷—系统调用分析(3) (基于最新Linux-5.0版本系统调用日志收集系统)

在上一篇文章《系统调用分析(2)》中介绍和分析了32位和64位的快速系统调用指令——sysenter/sysexit和syscall/sysret,以及...

8040
来自专栏Lemon黄

手把手小程序开发【1-WePY的安装】

在心中,你是一棵大树,我是大树上的一片绿叶;在心中,你是一座花园,我是花园里的一朵小花;在心中,你是一幢大厦,我是大厦里的一块砖石;在心中,祖国,永远爱着你!

12640
来自专栏江湖安得便相忘

一起学Rust-引用 · 借用

接续上一期的所有权的学习,所有权的内容中强调的是变量是资源的所有者,拥有对资源的控制权(例如移动,释放),但并不是所有的变量都拥有所指向的资源,那就是引用(Re...

10010
来自专栏Lemon黄

手把手小程序开发【2-WePY之Hello World】】

上一节,由于篇幅冗长,小程序之Hello World也就没来得及尝试一番,这节我们就来实践下吧。

8820
来自专栏LINUX阅码场

宋宝华: 关于Linux编译优化几个必须掌握的姿势

首先我们都知道,Linux内核如果用O0编译,是无法编译过的,Linux的内核编译,要么是O2,要么是Os,这点从Linux的Makefile里面可以看出:

8520
来自专栏EffectiveCoding

JVM JIT

JIT Just In Time,JVM中的一种即时编译技术,目的是为了提升程序的运行效率。

8220
来自专栏Android相关

编译问题--Could not download kotlin-reflect.jar

但是在该工程中并没有使用Kotlin,怀疑是因为Android Studio版本过高并且下载了Kotlin插件的原因,导致在没有使用Kotlin的项目中会出现该...

15520
来自专栏全栈前端精选

Vue 项目里戳中你痛点的问题及解决办法(下)

作者:愣锤 https://juejin.im/post/5b174de8f265da6e410e0b4e

12620

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励