
WSL2
安装H1
安装 Windows Subsystem for Linux
bash
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart启用 Virtual Machine Platform 组件
bash
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartWindows商店安装Linux发行版本
设置WSL 2
bash
wsl --set-version Ubuntu 2 # 设置已经安装的发型版本wsl --set-default-version 2 # 设置全局的默认版本
问题H1
设置wsl --set-default-version 2 报错
Error: 0x1bc For information on key differences with WSL 2 please visit https://aka.ms/wsl2
需要更新WSL2内核,https://docs.microsoft.com/nl-nl/windows/wsl/wsl2-kernel
内部端口访问
子系统内和Windows是可以通过localhost互相访问服务的。但是本地网络的其他主机是无法通过文芳Windows主机的IP访问到子系统内的服务内,因为在子系统的端口监听在Windows下都是12.0.0.1(或者让TCP6的:::1)。
可以通过netsh转发来解决这个问题
netsh其他命令
bash
netsh interface portproxy reset #清除所有转发规则netsh interface portproxy show v4tov4 #查看所有ipv4的转发规则
文件共享
子系统默认会把c盘等Windows的分区挂载到/mnt 目录下。
但是默认情况下,挂载目录的文件权限均为777,这会导致一些程序运行出问题。DrvFs 文件系统类型支持Additional Metadata 来正确显示linux下文件权限。
通过wsl.conf 可以配置挂载目录的参数
jsx
enabled = trueoptions = "metadata,umask=22,fmask=11"
使用共享目录时,性能会比较差还会模型奇妙出现一些奇怪的问题,所以最好不好把共享目录用做工程的开发目录。
参考:
评论
新的评论
上一篇
使用@DateTimeFormat注解转换ZondDateTime
Zsh 是一款功能强大的终端(shell)软件,既可以作为一个交互式终端,也可以作为一个脚本解释器。它在兼容 Bash 的同时 (默认不兼容,除非设置成 emulate sh) 还有提供了很多改进,例如: 更高效 更好的自动补全 更好的文件名展开(通配符展开) 更好的数组处理 …
下一篇
前端工程化总结
概念 工程化需要模块、打包等过程。Java中模块、打包通常是有maven、gradle这样的打包工具来实现,Javascript对应的就是webpack。而编译分别对应的则是javac和babel、swr、tsc。 Monorepo Workspace yarn、npm的wor…
