WSL2

萌森
萌森
发布于 2024-08-20 / 11 阅读
0
0

WSL2

简介

适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。

特点

WSL1 与 WSL2

功能 WSL 1 WSL 2
Windows 和 Linux 之间的集成
启动时间短
与传统虚拟机相比,占用的资源量少
可以与当前版本的 VMware 和 VirtualBox 一起运行
托管 VM
完整的 Linux 内核
完全的系统调用兼容性
跨 OS 文件系统的性能
systemd 支持
IPv6 支持

开始使用

以下命令均在 CMD(命令提示符) 或 Windows PowerShell 中执行。

可安装列表

wsl --list --online

安装 WSL

wsl --install <NAME>
  • NAME 指定镜像,默认值 Ubuntu

    • --distribution <NAME> 同义

  • --no-launch 安装但不启动

  • --web-download 通过网络下载,默认通过 Microsoft Store 安装

  • --inbox 使用 Windows更新 渠道,默认通过 Microsoft Store 更新

💡安装过程中会提示您配置账户信息,且请勿使用 root 作为用户名。

配置用户名:Enter new UNIX username

配置密码:New password

二次确认:Retype new password

已安装列表

wsl --list --verbose

如果您使用 Docker Desktop 应用程序,那么您可能会发现 以下子系统。您无法直接使用此系统。

  • docker-desktop

  • docker-desktop-data

升级更新

wsl --update
  • --web-download 从 GitHub 而不是 Microsoft Store 下载最新更新。

WSL 状态

wsl --status

版本信息

wsl --version

关闭 WSL

wsl --shutdown

卸载 WSL

wsl --unregister <NAME>
  • NAME 您即将卸载的子系统名称

启用 Root 用户

由于安装时默认创建的用户不能为 root 因此,安装后可通过以下命令初始化 root 用户。

请确认已经入 wsl 系统命令提示符中。

如果显示结构为:<username>@<hostname>:~$ 即可说明已进入子系统中。

sudo passwd root

过程中,需要输入三遍密码。

第一遍:[sudo] password for <username> 您安装时创建的用户密码

第二遍:New password root 用户的密码

第三遍:Retype new password 确认 root 用户密码

修改默认登录用户

1. 切换到 root

su
  1. 修改文件

vi /etc/wsl.conf
  1. 添加配置

[user]
default=root
  1. 保存并重启

exit
exit
wsl --shutdown

通过 CTRL + Cwq 保存退出 vim 编辑器。

exit 分别是退出root用户,退出<username> 用户,将会回到主机命令提示中。关闭WSL,之后通过开始菜单启动 WSL 即可直接进入子系统。

开启 SSH

sudo apt update
sudo apt install openssh-server
sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh

允许 root 登录 ssh

修改SSH配置文件

vi /etc/ssh/sshd_config
PermitRootLogin yes

保存后重启服务:sshsshd

启用 Docker

我们更推荐您独立安装 Docker 避免造成不必要的麻烦。

直通主机

如果您已经安装 Docker Desktop 桌面端应用,可通过配置直通子系统。

如果这样做,当您需要使用Docker时必须同时开启主机系统的Docker程序。

参考来源:WSL 2 上的 Docker 远程容器入门

独立安装

安装 Docker Engine 仓库

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

安装 Docker Engine

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

修改网络模式

将 NAT 网络修改为 主机网络模式

系统盘 >> Users >> 用户名 >> 创建文件 >> .wslconfig

[experimental]
autoMemoryReclaim=gradual  
networkingMode=mirrored
dnsTunneling=true
firewall=true
autoProxy=true

安装 1Panel

通过脚本一键安装,同时将会安装 Docker

curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

安装第三方应用商店

可参考:Docker 应用商店 - 1Panel 版本

查看网络信息

您需要先安装网络工具,才能正常使用命令。

apt install net-tools
ifconfig -a


评论