作为一个C/C++开发人员,与linux打交道是必不可少的,那么使用linux的方式有很多,例如实体机安装linux发行版、虚拟机软件如VMware安装linux发行版、购买云服务器等。这些方式要么成本大,要么使用步骤繁琐。现在,最好的方式莫过于使用wsl(Windows Subsystem for Linux)了,安装和使用都极其简单,只用一条命令即可安装和启动一个linux虚拟机。详细资料可参考微软官方Windows Subsystem for Linux 文档。
安装
启用适用于Linux的Windows子系统
使用管理员的PowerShell运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart检查运行WSL2的要求
若要更新到WSL2,必须运行Windows 10
对于x64系统:版本1903或更高版本,内部版本为18362.1049或更高版本。
对于ARM64系统:版本2004或更高版本,内部版本为19041或更高版本。
或 Windows 11。
启用虚拟机功能
使用管理员的PowerShell运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart重启电脑
下载Linux内核更新包
源码地址:https://github.com/microsoft/WSL2-Linux-Kernel
WSL2 Linux 内核更新包适用于 x64 计算机
WSL2 Linux 内核更新包适用于 ARM64 计算机
将WSL2设置为默认版本
打开PowerShell并运行以下命令,在安装新的Linux分发版时将WSL2设置为默认版本:
wsl --set-default-version 2安装所选 Linux 分发版
Ubuntu 24.04 LTS(x64,arm64)
https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu2404-240425.AppxBundle
Ubuntu 22.04 LTS(x64,arm64)
https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu2204-221101.AppxBundle
Ubuntu 20.04 LTS(x64,arm64)
https://wslstorestorage.blob.core.windows.net/wslblob/CanonicalGroupLimited.UbuntuonWindows_2004.2021.825.0.AppxBundle
Ubuntu 18.04 LTS(x64)
https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu_1804.2019.522.0_x64.appx
Ubuntu 18.04 LTS ARM (arm64)
https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu_1804.2018.726.0_ARM.appx
Ubuntu 16.04 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu_1604.2019.523.0_x64.appx
Debian GNU/Linux (x64, arm64)
https://publicwsldistros.blob.core.windows.net/wsldistrostorage/TheDebianProject.DebianGNULinux_1.12.2.0_neutral___76v4gfsz19hv4.AppxBundle
Oracle Linux 9.1 (x64)
https://publicwsldistros.blob.core.windows.net/wsldistrostorage/OracleLinux_9.1-230428.Appx
Oracle Linux 8.7 (x64)
https://publicwsldistros.blob.core.windows.net/wsldistrostorage/OracleLinux_8.7-230428.Appx
Oracle Linux 8.5 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/OracleLinux8.5_8.5.1.0.Appx
Oracle Linux 7.9 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/OracleLinux7.9_7.9.1.0.Appx
openSUSE Tumbleweed (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/openSUSE-Tumbleweed-20220224.appx
openSUSE Leap 15.6 (x64)
https://publicwsldistros.blob.core.windows.net/wsldistrostorage/SUSELeap15p6-240801_x64.Appx
openSUSE Leap 15.3 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/openSUSE-Leap-15.3-WSL-20220224.appx
openSUSE Leap 15.2 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/openSUSELeap15-2.appx
SUSE Linux Enterprise Server 15 SP6 (x64)
https://publicwsldistros.blob.core.windows.net/wsldistrostorage/SUSELinuxEnterprise15SP6-241001_x64.Appx
SUSE Linux Enterprise Server 15 SP5 (x64)
https://publicwsldistros.blob.core.windows.net/wsldistrostorage/SUSELinuxEnterprise15_SP5-240801.Appx
SUSE Linux Enterprise Server 15 SP3 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/SUSE-Linux-Enterprise-Server-15.3-WSL-20220224.appx
SUSE Linux Enterprise Server 15 SP2 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/SUSELinuxEnterpriseServer15SP2.appx
SUSE Linux Enterprise Server 12 (x64)
https://wslstorestorage.blob.core.windows.net/wslblob/SLES-12_v1.appx
用于 WSL 的 Fedora Remix (x64, arm64)
https://github.com/WhitewaterFoundry/Fedora-Remix-for-WSL/releases
使用Add-AppxPackage安装Appx包
下载分发版后,导航到包含下载的文件夹,并在该目录中运行以下命令,其中app-name是Linux分发.appx文件的名称。
Add-AppxPackage .\app_name.Appx设置Linux用户名和密码
使用WSL安装Linux发行版的过程完成后,使用“开始”菜单打开该发行版(默认情况下为 Ubuntu)。 系统将要求你为Linux发行版创建“用户名”和“密码”。
- 此用户名和密码特定于安装的每个单独的
Linux分发版,与Windows用户名无关。 - 请注意,输入密码时,屏幕上不会显示任何内容。这称为盲人键入。你不会看到你正在键入的内容,这是完全正常的。
- 创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。
- 此帐户将被视为
Linux管理员,能够运行sudo管理命令。 - 在
WSL上运行的每个Linux发行版都有其自己的Linux用户帐户和密码。每当添加分发版、重新安装或重置时,都必须配置一个Linux用户帐户。
WSL的基本命令
安装
wsl --install列出可用的分发版
wsl --list --online列出已安装的分发版
wsl --list --verbose从PowerShell或CMD运行特定的Linux分发版
wsl --distribution <Distribution Name> --user <User Name>立即终止所有正在运行的分发版和 WSL 2 轻型实用工具虚拟机
wsl --shutdown终止指定的分发或阻止其运行
wsl --terminate <Distribution Name>注销和卸载WSL分发版
wsl --unregister <DistributionName>
评论 (0)