CodeGym /课程 /Docker SELF /在Windows上使用Linux:WSL

在Windows上使用Linux:WSL

Docker SELF
第 1 级 , 课程 2
可用

在Windows上使用Linux:WSL

1. 什么是 WSL?

现在我们来说一个有趣的话题:如果你的主要操作系统是 Windows,如何使用 Linux?欢迎来到 WSL 的世界!

WSL(Windows Subsystem for Linux)是 Microsoft 的一项技术,它允许直接在 Windows 中运行 Linux 发行版。它有两个版本:

  • WSL1:在 Windows 和 Linux 之间提供系统调用层面的兼容性。它通过 Windows 内核模拟 Linux 行为。
  • WSL2:通过隐藏的轻量虚拟机使用完整的 Linux 内核。这让 WSL2 更快,也更接近真正的 Linux。

WSL 就像是连接两个世界的桥梁:你既可以使用 Linux 的工具,同时仍然留在 Windows 的生态系统中。对于开发者来说,这是个超大的优势:可以用喜欢的 Linux 命令来编写代码、测试以及配置服务器。


2. 为什么 WSL 这么有价值?

  1. 开发和测试: WSL 让开发人员可以在 Linux 环境中工作,不需要重启电脑或者使用虚拟机。
  2. Docker 和容器化: WSL2 支持 Docker,这对使用容器工作特别有用。
  3. 文件系统集成: 你可以轻松地在 Windows 和 Linux 之间共享文件,使用同一个文件系统。
  4. 设置简单: 安装 WSL 只需要几分钟。

WSL 和虚拟机有什么区别?

  • 不需要虚拟化. 你不需要安装 VirtualBox、VMware 或者 Hyper-V。WSL 在系统级别运行。
  • 更少资源消耗. WSL 比普通虚拟机使用更少的内存和 CPU。
  • 与 Windows 集成. 你可以轻松地在 Windows 和 Linux 之间共享文件,一起运行 Linux 和 Windows 命令(!),并且使用同样的网络接口。

3. 安装 WSL

1. 检查系统要求

开始之前,请确认你的系统符合最低要求:

  • Windows 10(版本 2004 及以上)或 Windows 11
  • BIOS/UEFI 中启用了虚拟化。

要检查 Windows 版本,打开 PowerShell 并执行以下命令:

winver

你应该会看到如下窗口:

如果你不知道如何在 Windows 中运行 PowerShell,请按 Win+S 键并输入 powershell。

2. 启用 WSL

以管理员身份打开 PowerShell 并执行以下命令:

wsl --install

这个命令会自动安装 WSL,下载 Linux 内核,并将 WSL2 设置为默认版本。

如果因为某些原因该命令无法工作,可以通过 Windows 的附加组件手动启用 WSL:

  1. 打开“控制面板” → “程序和功能” → “启用或关闭 Windows 功能”。
  2. 启用以下选项:
    • 用于 Linux 的 Windows 子系统
    • 虚拟机平台

之后重启电脑。

3. 选择并安装发行版

WSL 支持安装热门 Linux 发行版,比如 Ubuntu、Debian、Kali Linux 等等。要查看可用发行版列表,请执行以下命令:

wsl --list --online

你会看到可用发行版的列表:


PS C:\Users\Admin> wsl --list --online
The following is a list of valid distributions that can be installed.
Install using 'wsl.exe --install <Distro>'.

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
Ubuntu-24.04                    Ubuntu 24.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.6              openSUSE Leap 15.6
SUSE-Linux-Enterprise-15-SP5    SUSE Linux Enterprise 15 SP5
SUSE-Linux-Enterprise-15-SP6    SUSE Linux Enterprise 15 SP6
openSUSE-Tumbleweed             openSUSE Tumbleweed

例如,若要安装 Ubuntu,请执行以下命令:

wsl --install -d Ubuntu

安装完成后,运行该发行版以完成设置(例如设置用户名和密码)。


3. 默认设置为 WSL2

为了使用 WSL2(强烈推荐),请确保已启用 WSL2。将其设置为默认版本:

wsl --set-default-version 2

如果你已经安装了 WSL1 的发行版,可以将其升级为 WSL2:

wsl --set-version <发行版名称> 2

示例:

wsl --set-version Ubuntu 2

4. WSL 与 Windows 的集成

WSL 和 Windows 的集成很棒,让你可以同时使用两种系统的功能。以下是关键点:

1. 文件交换

WSL 会将 Windows 文件系统挂载到目录 /mnt 中。例如:

cd /mnt/c/Users/你的名字

你可以直接从 Linux 操作 Windows 文件。同样,你也可以通过路径 \\wsl$\<发行版名称> 在资源管理器中访问 WSL 的文件。

2. 在 Linux 中使用 Windows 命令

是的,你可以直接从 WSL 中运行 Windows 命令。例如:

explorer.exe .

会在资源管理器中打开当前目录。

3. 在 PowerShell 中使用 Linux 命令

WSL 允许你直接从 PowerShell 运行 Linux 命令。例如:

wsl ls

5. 在实际开发中使用 WSL

操作 Web 服务器

你可以在 WSL 中启动 Nginx 或 Apache 服务器,然后通过 Windows 上的浏览器访问它。例如:

1. 在 WSL 中安装 Nginx:

   sudo apt update
   sudo apt install nginx

2. 启动服务器:

   sudo service nginx start

3. 打开浏览器并访问 http://localhost

安装 Docker

WSL2 完全支持 Docker。安装 Windows 上的 Docker Desktop,它将自动与 WSL2 集成。


6. 有用的WSL命令

  • 查看已安装的发行版:

    wsl --list --verbose
    

    显示所有已安装的发行版、它们的版本和状态。

  • 停止所有发行版:

    wsl --shutdown
    
  • 删除发行版(小心操作!):

    wsl --unregister <发行版名称>
    
  • 在特定目录中打开WSL:

    wsl ~/
    

7. 常见错误及其解决方法

1. 错误: "WSL is not enabled"

如果你看到提示 WSL 没有启用,请确认你已经在“控制面板”或通过 PowerShell 激活了它。另外,检查你的处理器是否支持虚拟化(它需要在 BIOS 中启用)。

2. 命令 wsl --install 无法运行

这可能是由于 Windows 的版本过时。请将操作系统更新到最新版本。

3. Docker 无法启动的问题

确保你的发行版使用的是 WSL2,而不是 WSL1。你可以通过以下命令检查:

wsl --list --verbose

4. 无法通过 WSL 连接到服务器

确保 Windows 的防火墙没有阻止连接。


8. 实践任务

  1. 安装 WSL 和 Ubuntu 发行版。
  2. 检查你的发行版的 WSL 版本:
    wsl --list --verbose
    
  3. 在 WSL 中创建一个文本文件 test.txt,路径为 /mnt/c/Users/你的名字/Documents

    echo "你好, WSL!" > /mnt/c/Users/你的名字/Documents/test.txt
    
  4. 通过 PowerShell 查看文件内容:

    type C:\Users\你的名字\Documents\test.txt
    
  5. 加星号任务:安装 Nginx,运行它并在浏览器中打开 http://localhost

那么,你刚刚完成了从安装到实际使用 Linux 在 Windows 上的整个过程。使用这个工具,你可以轻松快速地为任何任务部署工作环境。

评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION