系统安装与启动
wsl --install # 安装后重启计算机
wsl -l -o # 查看可用发行版列表
wsl -l -v # 查看当前的wsl版本以及状态
wsl --shutdown # 立即终止所有正在运行的分发和WSL2轻型工具虚拟机
wsl --terminate <Distribution Name> # 关闭指定发行版
wsl -d Ubuntu # 启动
迁移系统位置
wsl -l --all -v # 查看所有分发版本
wsl --export Ubuntu D:\ubuntu.tar # 导出分发版为tar文件到D盘
wsl --unregister Ubuntu # 注销当前分发版
wsl --import Ubuntu D:\develop\wsl\ubuntu D:\ubuntu.tar --version 2 # 重新导入并安装分发版在D:\wsl\ubuntu
Ubuntu config --default-user {dee} # 设置默认登陆用户为安装时用户名
del D:\ubuntu.tar # 删除导出的tar文件(可选)
基础配置
设置apt国内镜像源可以加速下载
sudo vim /etc/apt/sources.list
替换全部
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
apt 命令
sudo apt update # 列出所有可更新的软件清单命令
sudo apt upgrade # 升级软件包
apt list --upgradeable # 列出可更新的软件包及版本信息
sudo apt update && sudo apt upgrade -y # 组合命令
sudo apt install <package_name>=<version_number> # 安装指定版本
sudo apt remove <package_name> # 删除软件包
sudo apt autoremove # 清理不再使用的依赖和库文件
sudo apt purge <package_name> # 移除软件包及配置文件
sudo apt search <keyword> # 查找软件包
apt list --installed # 列出所有已安装的包
apt list --all-versions # 列出所有已安装的包的版本信息
开机自启
-
win+R
运行shell:startup
-
在目录中创建
wsl-startup.vbs
文件set ws=wscript.CreateObject("wscript.shell") ws.run "wsl -d Ubuntu", vbhide
-
重启电脑
mysql安装
apt search mysql-server # 搜索版本
sudo apt install mysql-server -y # 安装
systmctl start mysql # 启动
mysql登录
sudo vim /etc/mysql/debian.cnf # 查看密码(注意vim中要 ctrl+shift+c是全局复制)
user = debian-sys-maint
password = vkOJolrKJqv950Hj
mysql -u root -p # 登录
复制密码后登录
更改密码
use mysql;
update user set authentication_string='' where user='root'; --将字段置为空
alter user 'root'@'localhost' identified with mysql_native_password by 'root';
更改访问权限
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 注释下面这段
# bind-address = 127.0.0.1
sudo systemctl restart mysql # 重启
linux端登录mysql
select host,user from user; -- 查询各用户放开权限
update user set host = '%' where user = 'root'; -- 修改成%表示,所有主机都可以通过root用户访问数据库
flush privileges;
windows访问wsl文件
资源管理器输入
\\wsl$
暴露端口至局域网(以ssh为例)
1. wsl下重装ssh
sudo apt-get remove openssh-server
sudo apt-get install openssh-server
2. 编辑sshd_config文件
sudo vi /etc/ssh/sshd_config
- Port 22
- PermitRootLogin yes
- PasswordAuthentication yes
3. 编辑sudo vim /etc/hosts.allow,添加一行
sudo vim /etc/hosts.allow
- 添加的内容为 sshd: ALL
4. 重启ssh服务
sudo service ssh --full-restart
5. 查看wsl IP地址
ifconfig
6. windows终端中转发WSL2
## 添加端口映射
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=22 connectaddress=<xxx.xxx.xxx.xxx> connectport=22
## 删除端口
netsh interface portproxy delete v4tov4 listenaddress=0.0.0.0 listenport=22
## 同理转发mysql
netsh interface portproxy add v4tov4 listenaddress=0.0.0.0 listenport=13306 connectaddress=<xxx.xxx.xxx.xxx> connectport=3306
## 通过主机IP:13306连接即可
7. 连接windows端口
转载至: [如何用笔记本ssh连接局域网内其他电脑上的wsl2 ubuntu - 知乎 (zhihu.com)](https://zhuanlan.zhihu.com/p/357038111#:~:text=在windows下管理员权限打开cmd,输入命令将端口转发到WSL2 netsh interface portproxy add v4tov4,listenaddress%3D0.0.0.0 listenport%3D22 connectaddress%3Dxxx.xxx.xxx.xxx connectport%3D22 此处 xxx.xxx.xxx.xxx 替换成wsl的IP地址,如172.18.195.3)
开启hyper-v
控制面板 - 程序 - 启用或关闭Windows功能 - Hyper-V
如果没有打开终端, 输入 systeminfo
命令
末尾Hyper-V要求, 如果可以支持
新建文本, 复制如下代码
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
用批处理 .bat
以管理员身份运行, 代码结束后重启电脑即可