一、在mac跳到wsl环境
| 12
 3
 4
 5
 6
 
 | ssh Administrator@192.168.0.115
 
 wsl
 
 ssh tensor@wslhost
 
 | 
二、网络配置:局域网可访问WSL端口
以实现 在局域网其它电脑访问 wsl的服务.
1. 端口转发
方法:在win上添加 端口转发. 相关命令如下:
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 
 | # 1. 查看端口转发规则netsh interface portproxy show all
 
 # 2. 添加端口转换规则
 netsh interface portproxy add v4tov4 listenport=8000 listenaddress=0.0.0.0 connectport=8081 connectaddress=172.24.11.211
 # - 说明: 此命令可更新,所以如果ip变更,则更改后可直接执行
 
 # 3. 删除端口转换规则
 netsh interface portproxy delete v4tov4 listenport=4000 listenaddress=0.0.0.0
 
 
 # 4. 看设定的端口有没有被监听,或者使用nc,telnet,curl等命令看对应的wsl端口是否开启
 netstat -anp tcp
 
 | 
2. 防火墙配置
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | 1. 查看 防火墙是否启用netsh advfirewall show allprofiles state
 2. 查看现有的防火墙规则(注意双引号)
 netsh advfirewall firewall show rule name=all | findstr "8000"
 
 3. (重点)添加新的防火墙规则,例如允许特定端口:
 netsh advfirewall firewall add rule name="Port 8000" dir=in action=allow protocol=TCP localport=8000
 
 4. 删除防火墙规则,例如删除上面创建的规则(以规则名称为key)
 netsh advfirewall firewall delete rule name="Port 8000"
 
 
 | 
3. 设置静态IP
编辑 /etc/wsl.conf ,添加:
| 12
 
 | [network]                 generateResolvConf = false
 
 | 
三、在Windows中动态获取WSL2中的IP地址.
是在window通过wslhost(hostname) 访问wsl的方式. 可自动更新hostname
| 12
 3
 
 | ipaddr=$(ifconfig eth0 | grep 'inet ' | awk '{print $2}')sed -i '/wslhost/d' /mnt/c/Windows/System32/drivers/etc/hosts
 echo "$ipaddr wslhost" >> /mnt/c/Windows/System32/drivers/etc/hosts
 
 | 
在 /etc/profile 中配置以上信息.
注意win中hosts文件权限问题.
四、wsl 磁盘迁移
WSL2迁移虚拟磁盘文件ext4.vhdx
「备份」
| 12
 3
 4
 5
 6
 7
 8
 
 | wsl -l -v
 
 
 wsl --export Ubuntu-20.04 E:\Ubuntu_bak.tar
 
 
 wsl --unregister Ubuntu-20.04
 
 | 
「恢复」
从已经备份的其它文件恢复 wsl实例
| 12
 3
 4
 
 | wsl --import Ubuntu-20.04 E:\WslUbuntu\ext4.vhdx F:\backup\wsl-ubuntu.tar
 
 
 
 | 
「恢复后的设置」
| 12
 
 | ubuntu1804 config --default-user tensor
 
 | 
五、wsl磁盘空间清理
磁盘压缩。 尽量注意使用空间, 压缩有些不太可靠。
背景:用着用着 wsl的磁盘空间满了,打不开… 所以使用特定的方法对磁盘压缩,之后删除无用的文件。
清理WSL2的磁盘占用
| 12
 3
 4
 5
 6
 7
 8
 
 | diskpart.exe
 
 
 select vdisk file="E:\WslUbuntu\ext4.vhdx"
 
 
 compact vdisk
 
 | 
六、刚安装的wsl如何更改系统文件路径
如果想使用更大的文件磁盘,则需要将wsl系统文件从C盘移动到其它盘,避免C盘占用过大。
首先,win系统默认安装wsl,其系统文件位于:
C:\Users\你的用户名\AppData\Local\Packages\发行版包名\LocalState\ext4.vhdx
因此,只要将这个文件移动过去,重新注册即可。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | wsl --shutdown
 
 wsl --export Ubuntu-20.04 E:\Ubuntu_bak.tar
 
 
 wsl --unregister Ubuntu-20.04
 
 
 wsl --import Ubuntu-20.04 E:\WslUbuntu\ext4.vhdx E:\Ubuntu_bak.tar
 
 
 
 | 
七、修改进入wsl的默认用户
八、wsl安装docker
| 12
 3
 4
 5
 6
 7
 8
 
 | sudo apt updatesudo apt install docker.io
 docker --version
 
 
 sudo usermod -aG docker $USER
 
 sudo dockerd  2>&1 &
 
 |