windows10的子系统linux(wsl)

摘要:
是否要还原到以前的目录?

[] 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

image

# 新建文件 %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

免责声明:文章转载自《windows10的子系统linux(wsl)》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇redis 在java中的使用用户密码加密存储十问十答,一文说透密码安全存储下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux下svn不能连接上windows服务器:SSL handshake failed: SSL error

在linux服务器下载https链接的svn源码时出现:SSL handshake failed: SSL error: Key usage violation in certificate has been detected 错误原因是windows使用的证书linux不能识别 Add the following registry value to th...

Redis服务启动失败,提示:redis-server:command not found

今天我开始做主从复制的集群模式的测试,所以需要再装一个Linux操作系统,我在虚拟机里已经安装了一个Linux操作系统,Redis也已经配置好了。今天打算再安装一个Linux操作系统,Linux系统的安装过程很简单,就不多说了,如果大家想看,请查看我的另一篇文章《Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装》。 Linux操作...

.NET Framework 版本和依赖关系

原文:https://docs.microsoft.com/zh-cn/dotnet/framework/migration-guide/how-to-determine-which-versions-are-installed 用户可在他们的计算机上安装和运行 .NET Framework 的多个版本。当你开发或部署应用时,你可能需要知道用户的计算机...

linux下jcmd无法获取jvmdump

现象: 前两天在linux上的服务出现莫名其妙的内存溢出.却发现无法用jcmd连接jvm获取dump.现象: [root@host-12.131.14.15 bin]# ./jcmd 19652 GC.heap_dump  19652: com.sun.tools.attach.AttachNotSupportedException: Unable to...

如何解决Linux 系统下 ifconfig 命令无网络接口 ens33

今天我在做Redis的哨兵集群模式的时候,以前都是好的,也不知道从什么时候开始就无法连接Redis服务器了,就是运行如下命令,没有效果:redis-server redis.conf,然后在通过命令查看redis的状态,始终没有启动Redis,命令如下:ps -ef|grep redis 或者 ps -ef|grep 6379 ,查询不到Redis服务器的...

linux C++ 共享库导出类

1.共享库的对外接口函数的声明必须加上extern “C”。 2.使用共享库对话接口函数生成的对象指针时在该对象未被释放之前不能关闭共享库句柄,否则会出现segmentation fault错误。 以下是一个插件式设计的示例: 1、主执行程序:main.cpp #include #include #include "SMSGamePlugin.h" int...