wsl介绍
WSL是windows平台下Linux环境的子系统(Windows Subsyetem for Linux),可以让Windows下方便的安装Linux系统,而无需安装其他虚拟机软件。
wsl使用
Windows操作系统支持
Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11
更新wsl
一般使用wsl2,docker也是基于wsl
wsl --update
安装Linux系统
wsl --install
如上命令会默认安装Ubuntu系统,当然也可以指定安装的Linux版本
wsl --install -d <Linux版本>
通过如下命令可以查看支持的Linux版本
wsl --list --online
安装好以后,会提示设置账号、密码
下次需要进入Linux系统,运行wsl下Linux环境
wsl -d <Linux版本>
其他命令,可以通过wsl --help查看
参考链接
WSL 的基本命令 | Microsoft Learnhttps://learn.microsoft.com/zh-cn/windows/wsl/basic-commands
远程Linux
常规的Linux系统,如果要远程需要通过ssh来连接,那么wsl下的Linux其实也可以这么玩。
首先需要安装sshserver
sudo apt update
sudo apt install openssh-server
正常会自动启动服务,如果未启动可以手动启动
sudo service ssh start
查看服务启动状态
sudo service ssh status
重启wsl:wsl --shutdown
重新启动ubuntu:wsl -d ubuntu
然后新建一个cmd窗口:ssh <Linux用户名>@localhost
当出现输入yes/no的提示,说明成功了
wsl install问题与解决
最近换了台机器,安装wsl结果直接报错“无法解析服务器的名称或地址”
首先分析,正常逻辑是类似从某个网站下载Linux镜像内容进行安装,可能就是网络解析问题。
wsl --install 需要访问raw.githubusercontent.com,但是直接ping确实不通
那就设置下hosts文件好了
185.199.110.133 raw.githubusercontent.com
重新开cmd,一切ok。
参考链接
win11安装wsl报错之无法解析服务器的名称或地址的问题及解决方法_服务器其它_脚本之家 (jb51.net)https://www.jb51.net/server/320466kjs.htm
存在的一些问题
这里我用机器名无法连接,但是localhost和ip都可以。而且这里Linux机器名和Windows机器名相同。
通过wsl -d ubuntu启动ubuntu后,如果exit后,这个ubuntu系统就会自动关掉,估计为了节约资源?
一些使用技巧
共享目录访问
文件资源管理器访问:\\wsl.localhost\Ubuntu,即可打开ubuntu Linux文件系统
\\wsl.localhost\Ubuntu\home\用户名,就是当前Linux用户文件夹了
在这里就可以看到下面有些什么文件占用空间了,比如huggingface模型下载、pip安装包等等
wsl文件存储位置
再一个看看,Linux系统整体在Windows磁盘的哪里呢?
C:\Users\当前用户名\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc
最后一个文件夹名不一定完全是这样,但是从文件名名中可以看到包含Ubuntu
再往下有个LocalState文件夹,可以看到有个ext4.vhdx文件,这个其实就是Linux系统的文件了,看文件名后缀,基本可以看出来意思就是虚拟硬盘文件