🚀 全指南:基于 WSL2 的全栈开发环境配置与自动化备份

5 阅读1分钟

这是一份深度打磨的 WSL2 (Ubuntu) 配置笔记。涵盖了从安全备份、系统优化Python/Go/Node/Java 等主流开发环境的配置实战,助你打造极致流畅的 Windows + Linux 开发体验。


一、 🛡️ 稳如泰山:WSL2 自动化备份方案

不要等环境崩溃了才后悔。利用 PowerShell 脚本实现定期备份,只保留最近 5 个版本,省心省力。

1. 创建备份脚本 backup-wsl.ps1

$backupPath = "D:\wsl-backup"  
$date = Get-Date -Format "yyyy-MM-dd_HH-mm"  
  
# 导出名为 Ubuntu 的分发版
wsl --export Ubuntu "$backupPath\ubuntu-$date.tar"  
  
# 自动清理:只保留最近 5 个备份文件
Get-ChildItem $backupPath -Filter "*.tar" |  
Sort-Object LastWriteTime -Descending |  
Select-Object -Skip 5 |  
Remove-Item

2. 设置定时任务

  1. 搜索并打开 Windows 任务计划程序
  2. 新建任务,设置触发器为“每周”或“每天”。
  3. 操作设置为 启动程序,程序栏输入 powershell.exe,参数栏输入 -File "C:\你的路径\backup-wsl.ps1"

3. 灾难恢复

如果需要彻底重装或恢复到某个版本:

# 注销当前错误的系统
wsl --unregister Ubuntu

# 导入备份镜像
wsl --import Ubuntu D:\wsl D:\wsl-backup\ubuntu-xxx.tar

二、 ⚙️ 系统维护与基础配置

1. 软件源更新

# 标准更新
sudo apt update && sudo apt upgrade -y

# 跨版本升级 (如 Ubuntu 22.04 -> 24.04)
sudo do-release-upgrade

2. 设置默认登录用户

方法 A (推荐): 在 PowerShell 中直接修改。

wsl --manage <DistroName> --set-default-user <UserName>

方法 B: 修改 WSL 内部配置文件 /etc/wsl.conf

[user]
default=yourusername

三、 🌈 终端美化与 Shell 增强

1. 基础工具链安装

sudo apt install -y build-essential curl wget git unzip zip htop jq fzf tree

2. Zsh 与 Oh My Zsh 极致体验

# 安装 Zsh
sudo apt install -y zsh
chsh -s $(which zsh)

# 安装 Oh My Zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

3. 推荐插件配置

注意zsh-autocompletezsh-autosuggestions 功能上有重叠且易冲突,建议根据习惯二选一。

# 克隆必备插件
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
git clone https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

# 编辑 ~/.zshrc 启用
plugins=(
    git
    zsh-autosuggestions
    command-not-found
    zsh-history-substring-search
    docker  
    kubectl
    zsh-syntax-highlighting
)

# 启用 Powerlevel10k 主题
ZSH_THEME="powerlevel10k/powerlevel10k"

四、 🛠️ 多语言开发环境搭建

1. Python:使用下一代工具 uv

uv 速度极快,是目前替代 pipconda 的热门选择。

Bash

curl -LsSf https://astral.sh/uv/install.sh | sh

# 常用命令
uv python install 3.11    # 安装特定版本
uv init                   # 初始化项目
uv add requests           # 添加依赖

国内加速 (清华源):

export UV_DEFAULT_INDEX="https://pypi.tuna.tsinghua.edu.cn/simple"

2. Go 语言

wget https://go.dev/dl/go1.22.0.linux-amd64.tar.gz
sudo tar -C /usr/local -xzf go1.22.0.linux-amd64.tar.gz

# 环境变量配置 (~/.zshrc)
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin

3. Node.js:使用 nvm 管理版本

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash

nvm install --lts      # 安装长期支持版
npm install -g pnpm    # 推荐使用 pnpm

4. Java:使用 SDKMAN!

curl -s "https://get.sdkman.io" | bash
source "$HOME/.sdkman/bin/sdkman-init.sh"

sdk install java 21.0.10-tem  # 安装 Java 21
sdk default java 21.0.10-tem  # 设置默认版本

五、 📁 最佳实践:工作目录规范

建议在 Home 目录下建立统一的 workspace 空间,分类存储不同语言的项目:

~/workspace/
  ├── go-projects/      # Go 项目
  ├── java-projects/    # Java/Spring 项目
  ├── web-projects/     # Next.js/Vue 等前端项目
  ├── ai-projects/      # Python/LLM 相关
  └── tools/            # 个人脚本与工具

六、 🔗 扩展资源

  • Windows Terminal 常用图标库: GitHub - windows-terminal-icons
  • 字体推荐: 安装 Nerd Fonts (如 JetBrainsMono Nerd Font) 以完美显示 Zsh 图标。