[] windows10的子系统linux(wsl)
概述
- 安装wsl
- 开启、关闭wsl
- 解决wsl内存超标问题
- 安装node的方法
- 备份、还原wsl
1 安装方法
适用于 Linux 的 Windows 子系统安装指南 (Windows 10) (micro)
注意一点:步骤 5中
官网给的 wsl --set-default-version 2
,我系统中不生效,所以我采用指定分发版的方法:
wsl --set-version 分发版名称 版本号
# 例如,指定Ubuntu-18.04分发版的版本到2,然后等待
wsl --set-version Ubuntu-18.04 2
# 只有可以查看发行版目前的版本
wsl -l --verbose
NAME STATE VERSION
* Ubuntu-18.04 Running 2
Ubuntu Stopped 1
找出wsl安装路径的方法 () 没什么用
2 关闭、重启wsl
有两种方法:全关和一个一个关
# 关闭虚拟服务(全部子系统都会被关闭),记得管理员权限
net stop LxssManager
net start LxssManager
# 当然也可以一个一个终止其分发版
wsl -t Ubuntu-18.04
wsl -d Ubuntu-18.04
3 将wsl2的Vmmem内存限制在512MB
wsl2内存无缘无故会变得很大,所以可以限制一下最大内存,我选择限制在512MB
# 新建文件 %UserProfile%/.wslconfig
# 注意这是在windows下,%UserProfile%是一个环境变量,表示当前登陆用户家目录
[wsl2]
memory=512MB
swap=0
localhostForwarding=true
4 装node步骤
4.1 装node方法
首先装nvm再装node,不要
apt install nodejs
,怀疑nodejs好像是一个过时的node
apt install curl
curl https://raw.githubusercontent.com/creationix/nvm/v0.30.2/install.sh | bash
# 注意版本0.30.2,可查阅更换nvm的最新版
这里可能有一个下载nvm的问题:
curl: (35) OpenSSL SSL_connect: 连接被对方重设 in connection to raw.githubusercontent.com:443 (墙的问题,wsl中映射一下IP)
4.2 nvm的一些操作
nvm ls查看node版本
nvm install node 安装最新版
nvm install 14.16.1 安装node14.16.1版本
# 临时指定版本,当前命令行生效
nvm use 14.16.1
# 指定默认版本,永久生效
nvm alias default v4.3.0
5 备份/删除/还原子系统
# 查看wsl安装版本和名称
wsl -l
# 备份
wsl --export Ubuntu-18.04 c: empUbuntu-18.04-20210605.tar
# 还原,还原之后terminal上自动会添加这个
wsl --import Ubuntu_20210605 c:WSL c: empUbuntu-18.04-20210605.tar
# 删除
wsl --unregister Ubuntu-18.04
还原之后如何运行呢?是不是要还原到以前的目录呢?
不需要还原到以前的目录,还原到任意位置都可以,还原后可以看到看到还原的Ubuntu_20210605,并且windows terminal自动会加入这个分发版
PS C:Windowssystem32> wsl -l
适用于 Linux 的 Windows 子系统分发版:
Ubuntu (默认)
Ubuntu-18.04
Ubuntu_20210605
# 设置默认分发版 s(set-default)
wsl -s Ubuntu-18.04
# 指定运行分发版 d(distribution)
wsl -d Ubuntu-18.04
# 查看运行的分发版
wsl -l --running
# 终止分发版 t(terminate)
wsl -t Ubuntu-18.04
其他命令详见 https://docs.microsoft.com/zh-cn/windows/wsl/reference