安装 WSL 的 Ubuntu 24.04 系统
使用 WSL 安装 Ubuntu 系统,并移动到 D 盘。
介绍如何在 WSL Ubuntu 24.04 环境下快速搭建全栈开发工具链。内容包括安装 Golang、Bun、Node.js、Deno、Java JDK 与 Maven、Python (uv)、Podman 等运行时和构建工具。同时提供环境变量配置、国内镜像加速(GoProxy、PyPI、Docker Registry)、APT 源切换以及 WSL 发行版迁移备份的常用命令指南。适合需要统一前后端及容器化开发环境的开发者参考。
使用 WSL 安装 Ubuntu 系统,并移动到 D 盘。
# 安装 WSL
wsl --install
# 查看版本
lsb_release -a
# 关闭 WSL
wsl --shutdown
# 列出所有已安装的发行版
wsl --list --all
# wsl --manage 直接移动(Windows 11 22H2+)
wsl --shutdown
# 确保关闭后再移动
wsl -l -v
# 移动
wsl --manage <发行版名称> --move D:\WSL\Ubuntu
# 例如
wsl --manage Ubuntu --move D:\wsl\ubuntu
# 备份
wsl --export Ubuntu G:\softLinux\Ubuntu-24.04.tar
mkdir soft
cd soft
wget https://go.dev/dl/go1.25.5.linux-amd64.tar.gz
# 删除原来的
sudo rm -rf /usr/local/go
sudo tar -C /usr/local -xzf go1.25.5.linux-amd64.tar.gz
添加环境变量
export PATH=$PATH:/usr/local/go/bin
查看版本
go version
加速
echo "export GOPROXY=https://goproxy.io,direct" >> ~/.profile
source ~/.profile
sudo apt install unzip curl -fsSL https://bun.sh/install | bash
source ~/.bashrc
bun --version
bun --help
# On most Unix systems including macOS, you can install with a single command:
curl https://get.volta.sh | bash
# Download and install Node.js: volta install node@22
# Verify the Node.js version:
node -v
# Should print "v22.21.1".
# Download and install pnpm: volta install pnpm
# Verify pnpm version:
pnpm -v
# 加速
npm config set registry https://registry.npmmirror.com
curl -fsSL https://deno.land/install.sh | sh
sudo apt update
sudo apt install default-jdk -y
java -version
# 安装特定版本
sudo apt install openjdk-17-jdk -y
# 管理多个 JDK 版本
sudo update-alternatives --config java
sudo apt install maven -y
# 新开一个终端
mvn -version
curl -LsSf https://astral.sh/uv/install.sh | sh
sh, bash, zsh
source $HOME/.local/bin/env
uv --version
临时加速
uv pip install numpy --default-index https://pypi.tuna.tsinghua.edu.cn/simple
永久加速
# 推荐使用清华源
echo 'export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple"' >> ~/.bashrc
# 或者用阿里源
# echo 'export UV_DEFAULT_INDEX="https://mirrors.aliyun.com/pypi/simple/"' >> ~/.bashrc
# 让配置立即生效
source ~/.bashrc
uv python install 3.12
uv python list
python3 --version
sudo apt remove $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc | cut -f1)
sudo apt-get -y install podman
sudo apt-get -y install podman-compose
podman -v
podman-compose -V
也可以安装 Docker。
设置别名
nano ~/.bashrc
alias docker='podman'
alias docker-compose='podman-compose'
source ~/.bashrc
docker --version
docker-compose -V
加速
cat /etc/containers/registries.conf.d/custom.conf
sudo nano /etc/containers/registries.conf.d/custom.conf
添加以下内容
unqualified-search-registries = ['docker.io', 'k8s.gcr.io', 'gcr.io']
[[registry]]
prefix = "docker.io"
insecure = true
location = "registry-1.docker.io"
[[registry.mirror]]
location = "docker.1ms.run"
[[registry]]
prefix = "k8s.gcr.io"
insecure = true
location = "k8s.gcr.io"
[[registry.mirror]]
location = "registry.cn-hangzhou.aliyuncs.com/google_containers"
[[registry]]
prefix = "gcr.io"
insecure = true
location = "gcr.io"
[[registry.mirror]]
location = "registry.cn-hangzhou.aliyuncs.com/google_containers"
[[registry]]
prefix = "ghcr.io"
insecure = true
location = "ghcr.io"
[[registry.mirror]]
location = "registry.cn-hangzhou.aliyuncs.com/google_containers"
保存并退出:Ctrl + O → 回车 → Ctrl + X
测试
podman run quay.io/podman/hello
podman run docker.io/hello-world
docker run docker.io/hello-world
# 显示完整的发行版信息
lsb_release -a
# 查看
cat /etc/apt/sources.list.d/ubuntu.sources
# 进入目录
cd /etc/apt/sources.list.d
# 备份
sudo cp ubuntu.sources ubuntu.sources.bak
# DEB822 格式
sudo sed -i 's@//.*archive.ubuntu.com@//mirrors.ustc.edu.cn@g' /etc/apt/sources.list.d/ubuntu.sources
# 因镜像站同步有延迟,可能会导致生产环境系统不能及时检查、安装上最新的安全更新,不建议替换 security 源。(可选)
sudo sed -i 's/security.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list.d/ubuntu.sources
sudo apt update
WSL2 提供了一系列强大的命令,涵盖了从安装、日常管理到备份恢复的全过程。下面这个表格汇总了这些核心命令,可以帮你快速建立起一个整体印象。
| 类别 | 命令 | 说明 | 常用参数示例 |
|---|---|---|---|
| 🔧 环境准备 | wsl --install | 一键安装 WSL(默认 Ubuntu) | -d <Distro> 指定发行版,如 -d Ubuntu-22.04 |
wsl --update | 更新 WSL 内核版本 | ||
wsl --set-default-version 2 | 设置新发行版默认使用 WSL2 | ||
| 📦 发行版管理 | wsl --list --online | 查看可安装的 Linux 发行版列表 | 简写:wsl -l -o |
wsl --list --verbose | 查看已安装发行版的详细信息(名称、状态、WSL 版本) | 简写:wsl -l -v | |
wsl --set-version <Distro> 2 | 将指定发行版从 WSL1 升级到 WSL2 | 如 wsl --set-version Ubuntu 2 | |
wsl --set-default <Distro> | 设置默认启动的发行版 | 如 wsl --set-default Ubuntu-22.04 | |
wsl --unregister <Distro> | 注销(删除)指定的发行版,释放磁盘空间 | ||
| ⏸️ 会话控制 | wsl --shutdown | 立即终止所有正在运行的 WSL 发行版和虚拟机 | |
wsl --terminate <Distro> | 终止(关闭)指定的发行版 | 简写:wsl -t <Distro> | |
wsl -d <Distro> | 运行指定名称的发行版 | ||
| 💾 备份与恢复 | wsl --export <Distro> <File> | 将发行版导出为备份文件(.tar 格式) | 如 wsl --export Ubuntu D:\backup.tar |
wsl --import <Distro> <Path> <File> | 将备份文件导入为新的发行版 | 如 wsl --import Ubuntu D:\wsl\ D:\backup.tar |
在开始使用各种命令之前,需要先确保 WSL2 环境已经就绪。
wsl --install。这个命令会自动启用所需功能、安装默认的 Ubuntu 发行版并将 WSL2 设置为默认版本。wsl --set-default-version 2 命令设置默认版本。wsl --install -d Ubuntu-22.04。安装好发行版后,以下命令能帮助你高效管理。
wsl --list --verbose(或 wsl -l -v)可以清晰查看所有已安装的发行版、它们的运行状态(Running 或 Stopped)以及 WSL 版本。如果你安装了多个发行版,可以使用 wsl --set-default <发行版名称> 来设置默认启动项。wsl 即可启动默认发行版。要关闭某个发行版,使用 wsl --terminate <发行版名称>。当需要彻底关闭所有 WSL 相关进程时(例如应用某些配置更改后),最有效的方法是使用 wsl --shutdown。wsl --unregister <发行版名称> 将其完全注销并删除,从而释放磁盘空间。定期备份 WSL 环境可以防止配置好的开发环境因意外丢失。
wsl --export 命令可以将指定的发行版打包成一个 .tar 备份文件。建议在执行操作前先使用 wsl --terminate 或 wsl --shutdown 确保发行版已完全关闭,以保证备份文件的一致性。wsl --import 命令可以将备份文件恢复到指定位置。这个命令的一个关键作用是迁移 WSL 发行版的存储位置。默认情况下,WSL 虚拟硬盘文件(ext4.vhdx)存放在 C 盘,通过'导出 - 注销 - 导入到新位置'的方式,可以将其转移到 D 盘等其他驱动器,有效节省 C 盘空间。wsl --export <发行版名称> <备份文件路径.tar>wsl --unregister <发行版名称> (注销当前发行版以释放它)wsl --import <新发行版名称> <目标安装路径> <备份文件路径.tar> --version 2除了上述核心命令,还有一些非常实用的技巧可以提升你的使用体验。
\\wsl$\<发行版名称>(例如 \\wsl$\Ubuntu-20.04),可以直接访问 WSL 系统的文件,进行拖拽、复制等操作。/mnt/ 目录下(如 /mnt/c/, /mnt/d/),可以直接在 WSL 中访问 Windows 文件。code .,即可在 Windows 版的 VS Code 中调用 WSL 环境进行开发,享受无缝的体验。掌握这些命令,你就能从容地管理你的 WSL2 环境了。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
查找任何按下的键的javascript键代码、代码、位置和修饰符。 在线工具,Keycode 信息在线工具,online
JavaScript 字符串转义/反转义;Java 风格 \uXXXX(Native2Ascii)编码与解码。 在线工具,Escape 与 Native 编解码在线工具,online
使用 Prettier 在浏览器内格式化 JavaScript 或 HTML 片段。 在线工具,JavaScript / HTML 格式化在线工具,online
Terser 压缩、变量名混淆,或 javascript-obfuscator 高强度混淆(体积会增大)。 在线工具,JavaScript 压缩与混淆在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online