📖 介绍
WSL(Windows Subsystem for Linux)是Windows 10中的一个功能,它允许用户在Windows上原生运行Linux命令和程序,无需安装完整的Linux发行版。WSL通过在Windows内核中实现Linux系统调用来实现这一目标,因此它不是一个虚拟机或模拟器,而是一个真正的Linux子系统。
用户需要下载并安装WSL 2的运行时环境,并选择一个具体的Linux内核映像。这个内核映像可以从Microsoft提供的官方渠道获取,也可以自定义构建。安装完成后,用户可以在Windows命令行界面或终端中运行Linux命令和程序。
WSL的特色包括:
1、可以在Windows上原生运行Linux命令和程序,无需使用虚拟机或模拟器。
2、支持多个Linux发行版(WSL 1),或选择特定的内核映像(WSL 2)。
3、与Windows紧密集成,可以访问Windows文件系统和网络资源。
4、支持命令行界面和图形界面,用户可以根据需要选择使用。
5、支持与Docker等容器技术集成,方便用户进行开发和测试。
总之,WSL为Windows用户提供了一种方便、快捷的方式来运行Linux命令和程序,使得开发人员和系统管理员可以更加高效地进行工作。
比较 WSL 1 和 WSL 2
从 WSL 1 升级到 WSL 2 的主要区别和优势是:完整的 Linux 内核、提高文件系统(IO)性能、支持完全的系统调用兼容性。
🧰win10-WSL安装使用
安装wsl
1、打开Windows功能。在Windows 10上,可以通过“控制面板”->“程序”->“程序和功能”->“启用或关闭Windows功能”打开”适用于 Linux 的 Windows 子系统“。
2、启用“适用于Linux的Windows子系统”功能。选中该功能后,单击“确定”并等待安装完成。(如果提示重启机器才生效需要重启)
3、从Microsoft Store安装所需的Linux发行版。可以从Microsoft Store中下载Ubuntu、Debian、Kali Linux等多个Linux发行版。选择所需的发行版并单击“获取”。
单击以下链接会打开每个分发版的 Microsoft Store 页面:(下载好以后设置用户名和密码即可使用)
Ubuntu 20.04 LTS:https://www.microsoft.com/store/apps/9n6svws3rx71
Ubuntu 22.04 LTS:https://www.microsoft.com/store/apps/9PN20MSR04DW
Kali Linux:https://www.microsoft.com/store/apps/9PKR34TNCV07
Debian GNU/Linux:https://www.microsoft.com/store/apps/9MSVKQC78PK6
Tips: WSL 2 仅适用于 Windows10的1903或更高版本。通过按 Windows 徽标键 + R,检查你的 Windows 版本,然后键入 winver,选择“确定”。
Tips: 非常注意,如果系统版本低于 18362 的版本根本不支持 WSL2,如果系统版本低于1709 根本不支持 WSL1。
Tips:Windows Server 2019 和 2022不支持 WSL2,坑呀。https://github.com/microsoft/WSL/issues/7666
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| 1、列出可用的 Linux 发行版 PS C:\Windows\system32> wsl --list --online NAME FRIENDLY NAME Ubuntu Ubuntu Debian Debian GNU/Linux kali-linux Kali Linux Rolling Ubuntu-18.04 Ubuntu 18.04 LTS Ubuntu-20.04 Ubuntu 20.04 LTS Ubuntu-22.04 Ubuntu 22.04 LTS OracleLinux_7_9 Oracle Linux 7.9 OracleLinux_8_7 Oracle Linux 8.7 OracleLinux_9_1 Oracle Linux 9.1 openSUSE-Leap-15.5 openSUSE Leap 15.5 SUSE-Linux-Enterprise-Server-15-SP4 SUSE Linux Enterprise Server 15 SP4 SUSE-Linux-Enterprise-15-SP5 SUSE Linux Enterprise 15 SP5 openSUSE-Tumbleweed openSUSE Tumbleweed
2、列出已安装的 Linux 发行版(默认为空) wsl --list --verbose
3、命令行安装安装指定Linux的 发行版(例如:wsl --install -d Ubuntu-20.04) wsl install -d
4、设置默认 Linux 发行版 wsl --set-default <Distribution Name>
5、检查 WSL 状态 wsl --status
6、进入Linux子系统 wsl
7、 或者网页打开下载Linux系统
8、 关闭wsl wsl --shutdown
9、Terminate wsl --terminate <Distribution Name>
|
端口映射
注意:windows的IP Helper服务一定要开启
如何在局域网的其他主机上中访问本机的WSL2?
- 我们可以通过Windows原生命令开启端口转发功能从而实现局域网主机访问本机的wsl
1 2 3 4 5 6 7 8
| 1、查看所有的端口转发规则 netsh interface portproxy show all 2、转发本机端口到另外地址端口(注意不能写127.0.0.1,否则其他服务无法访问,88是我本机地址,143是wsl地址) netsh interface portproxy add v4tov4 listenaddress=192.168.99.88 listenport=22 connectaddress=172.24.35.143 connectport=22 3、delete命令 delete v4tov4 - 删除通过 IPv4 的 IPv4 和代理连接到的侦听项目。 netsh interface portproxy delete v4tov4 listenaddress=127.0.0.1 listenport=3389
|
🧰Win Server 2022 安装使用
说明:
具体操作步骤流程如下
- 开启虚拟机虚拟化 (任务管理器–>性能–>查看CPU虚拟化是否开启)
- 更新windows
- 安装wsl2
更新windows
安装wsl2
1 2 3 4 5 6 7 8 9 10
| C:\Users\Administrator> wsl --install 正在安装: 虚拟机平台 已安装 虚拟机平台。 正在安装: 适用于 Linux 的 Windows 子系统 已安装 适用于 Linux 的 Windows 子系统。 正在下载: WSL 内核 正在安装: WSL 内核 已安装 WSL 内核。 正在下载: Ubuntu 请求的操作成功。直到重新启动系统前更改将不会生效。
|
安装Docker Desktop
Get Started | Docker
1 2
| 安装好以后使用 docker version 查看命令是否安装成功
|
部署应用
以下方式不在使用
官网文档
- 命令方式1.以管理员身份打开 PowerShell 并运行:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
安装 WSL 2 之前,必须启用“虚拟机平台”可选功能,并重启计算机
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
下载 Linux 内核更新包安装完成后,请继续执行在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。(如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)
以下命令都在powershell运行
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| 1、 下载安装 Linux 内核更新包 curl.exe -L https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -o wsl_update_x64.msi
2、将 WSL 2 设置为默认版本,执行`wsl --set-default-version 2`powershell 命令即可。 wsl --set-default-version 2
默认版本:2 -----------------------------------
3、命令行下载Linux 分发版。(或者直接网页下载也一样,https://aka.ms/wslubuntu2004) Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
5、使用 PowerShell 提取 <DistributionName>.appx 包的内容: Rename-Item .\Ubuntu.appx .\Ubuntu.zip Expand-Archive .\Ubuntu.zip .\Ubuntu
5、下载了发行版后,导航到包含下载内容的文件夹,并在该目录中运行以下命令,其中 app-name 是 Linux 发行版 .appx 文件的名称。 Add-AppxPackage .\app_name.appx 现在,可以通过键入 `<DistributionName>.exe` 从任何路径启动你的分发版。 例如: `ubuntu.exe`。 注意 安装失败并出现错误 0x8007007e:如果收到此错误,则表明系统不支持 WSL。 请确保运行的是 Windows 版本 16215 或更高版本。 检查内部版本。 另外,请进行检查以确认 WSL 已启用,并且在启用此功能后重新启动了计算机。
6、使用 PowerShell 将 Linux 发行版路径添加到 Windows 环境路径(在本例中为 C:\Users\Administrator\Ubuntu) $userenv = [System.Environment]::GetEnvironmentVariable("Path", "User") [System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\Administrator\Ubuntu", "User")
wsl --install --d Ubuntu
|
端口转发还请参考端口映射标题去做
安装完成后,可为新的 Linux 发行版创建用户帐户和密码。
安装windows终端(可选)