Windows10玩转Linux子系统(WSL)

Windows10玩转Linux子系统(WSL)

WSL简介

WSL 是 Windows Subsystem for Linux 的缩写,意思是 linux 版的 window 子系统。

Linux 的 Windows 子系统让开发人员无需虚拟机就可以直接在 Windows 上运行 Linux 环境,包括大多数命令行工具、程序和应用。

使用 WSL 的好处是:

  1. 与在虚拟机下使用 Linux 相比,WSL 占用资源更少,更加流畅
  2. WSL 可以对 Windows 文件系统下的文件直接进行读写,文件传输更方便
  3. 剪贴板互通,可以直接在 Windows 下其它地方复制文本内容,粘贴到 WSL

介绍完WSL,我们再来了解一下WSL2

WSL2简介

WSL 2 是 WSL 中体系结构的新版本,它更改了 Linux 分发版与 Windows 进行交互的方式。 WSL 2 的主要目标是提高文件系统性能并增加完全的系统调用兼容性。 每个 Linux 分发版都可以作为 WSL 1 或 WSL 2 运行,并可随时在它们之间进行切换。 WSL 2 是对基础体系结构的一次重大改造,它使用虚拟化技术和 Linux 内核来实现其新功能

总结下有以下几个优点

  • WSL2附带真实的Linux4.19内核,能带来完整的系统调用兼容性
  • 支持本机直接运行Docker容器
  • WSL2运行速度更快

安装WSL

安装WSL之前必须先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能安装WSL子系统

按 Win+X, 找到 Windows PowerShell (管理员),复制执行命令

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

重启计算机,去应用商店安装Linux分发版即可。

在讲WSL安装Linux分发版之前,我们先讲一下如何更新到WSL2(可选),毕竟WSL2是原生的Linux内核,并且原生支持docker

更新到WSL2(可选)

若要更新到 WSL 2,必须满足以下条件:

  • 运行 Windows 10(已更新到版本 2004 的内部版本 19041 或更高版本)。
  • 通过按 Windows 徽标键 + R,检查你的 Windows 版本,然后键入 winver,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。 如果内部版本低于 19041,请更新到最新的 Windows 版本。 获取 Windows 更新助手

启用“虚拟机平台”可选组件

按 Win+X, 找到 Windows PowerShell (管理员),复制执行命令

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

重启计算机,以完成WSL安装并更新到WSL2

设置WSL2为默认版本

PowerShell(管理员)中复制执行命令

wsl --set-default-version 2

安装Linux子系统

在Windows应用商店搜索linux,选择自己喜欢的版本,我这里选择的是Ubuntu 20.04 LTS,

下载安装之后,第一次打开会初始化一会,

然后设置用户名密码,这里用户名不能设置为root,但是密码是root和当前用户名通用的

到这里,WSL就安装好了,接下来我们让它更好用吧!

apt换源

切换到清华大学TUNA的软件源镜像

  • 执行下面命令,备份 apt 安装源:
$ sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  • vim 编辑 sources.list :
$ sudo vim /etc/apt/sources.list 
  • 将 sources.list 中的内容替换如下

注意:这里是Ubuntu 20.04 LTS的,

如果是其他版本的ubuntu,自行访问[ 清华大学开源软件镜像站]去查找对应版本的镜像配置

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-security main restricted universe multiverse

更新软件

  • 更新软件源中的所有软件列表
$ sudo apt-get update
  • 更新软件
$ sudo apt-get upgrade

配置SSH服务器

我们习惯用xshell,SecureCRT,MobaXterm等SSH工具连接Linux,所以需要安装配置SSH

sudo apt-get install openssh-server

然后需要配置 /etc/ssh/sshd_config,用 sudo 权限运行 vim 修改如下三个关键字,或者执行su命令,输入密码,切到root用户操作

PS:上文我们说过root用户的密码等同于wsl初始化时配置用户的密码

在vim可以搜索以下key,记得删除 #

#端口号22我本机被占用了,这里改成2222
Port 2222
# 这两行允许了 root 账户和密码登录
PermitRootLogin yes
PasswordAuthentication yes

PS:每次更新软件,会覆盖sshd_config文件,小坑

然后重启 ssh 服务

$ sudo service ssh restart
$ ps -e | grep sshd
$ netstat -anp |grep ssh

然后就能用ssh工具连接了,由于xshell和SecureCRT都收费,这里推荐一个好用且免费的ssh工具MobaXterm,来张图吧
在这里插入图片描述

配置Linux子系统开机自启

新建ubuntu2004.vbs文件,输入以下内容,保存

Ubuntu-20.04可以换成自己Linux子系统的名字和版本号

Set ws = WScript.CreateObject("WScript.Shell")
ws.run "wsl -d Ubuntu-20.04 -u root /etc/init.d/ssh start", vbhide

然后WIN+R,输入 shell:startup,打开windows启动文件夹,把ubuntu2004.vbs文件拖进去即可

至此Windows下的Linux子系统就安装完了,下一篇我们讲一下在Linux子系统中安装docker

猜你喜欢

转载自blog.csdn.net/l229568441/article/details/106957085