第 1 章 · Linux 发行版与环境准备
本章目标:理解 Linux 在后端与云原生课程栈中的位置;在 WSL2 或虚拟机安装 Ubuntu 22.04 LTS;完成首次登录、系统更新与统一工作目录 dev-workspace;对照 xiaozi-cloud、ops-deploy 生产环境约定。
学时建议:3~4 小时(含 2 小时跟练)
前置:无硬性前置;Windows 用户建议启用 WSL2。
1.1 场景说明:为什么后端课默认 Linux
本学院后端与云原生课程(gin-web、api-go-demo、go-database)的编译、容器与 ops-deploy CI 目标环境均为 Linux。本地用 WSL2 或虚拟机模拟生产,可避免「Windows 能跑、服务器报错」的权限、路径与换行符差异。
开发者 PC (Windows / macOS)
│ WSL2 / SSH / VirtualBox
▼
Ubuntu 22.04 LTS(教学默认)
├── ~/dev-workspace # 统一源码与笔记
├── Docker / systemd # ch13~ch14
└── 对接 xiaozi-cloud 节点 # 同为 Linux
| 环境 | 用途 | 学院课程 |
|---|---|---|
| WSL2 Ubuntu | Windows 日常开发 | quick-start、linux-shell |
| 云主机 / VM | 接近生产 | ops-deploy、xiaozi-cloud |
| macOS Terminal | Unix 工具链 | gin-web 本地调试 |
1.2 发行版选型:Ubuntu 22.04 vs CentOS/RHEL
| 维度 | Ubuntu 22.04 LTS | CentOS Stream / RHEL |
|---|---|---|
| 包管理 | apt / apt-get | dnf / yum |
| 默认 Shell | bash | bash |
| 云镜像 | 各大云厂商丰富 | 企业采购常见 |
| 学院默认 | 是 | ops-deploy 文档亦兼容 |
教学选择 Ubuntu 22.04 LTS:支持到 2027,与 Docker、Go 1.22+ 文档示例一致。
# 查看发行版(跟练必做)
cat /etc/os-release
uname -a
lsb_release -a 2>/dev/null || true
1.3 WSL2 安装与首次配置(Windows)
- 管理员 PowerShell 启用 WSL 与虚拟机平台(Windows 10 2004+ / Windows 11)。
wsl --install -d Ubuntu-22.04或 Microsoft Store 安装 Ubuntu 22.04。- 首次启动创建 UNIX 用户名(不要用 root 日常登录)。
# Windows 侧检查
wsl --list --verbose
wsl --set-default-version 2
进入 WSL 后:
sudo apt update && sudo apt upgrade -y
sudo apt install -y build-essential curl git ca-certificates
路径对照:
| 概念 | Linux (WSL) | Windows |
|---|---|---|
| 家目录 | ~/ → /home/<user>/ | %USERPROFILE% |
| 学院工作区 | ~/dev-workspace | %USERPROFILE%\dev-workspace |
| 访问 Windows 盘 | /mnt/c/Users/... | — |
WSL 中编辑 Windows 盘文件注意 CRLF;Git 项目请放在 ~/dev-workspace 的 ext4 分区。
1.4 虚拟机方案(VirtualBox / VMware)
无 WSL 或需完全隔离时:
| 步骤 | 操作 |
|---|---|
| 1 | 下载 Ubuntu 22.04 Server/ Desktop ISO |
| 2 | 分配 ≥ 2 vCPU、4 GB RAM、40 GB 磁盘 |
| 3 | 网络:NAT + 端口转发 或 桥接(SSH 练习见 ch08) |
| 4 | 安装 OpenSSH Server:sudo apt install openssh-server |
# 虚拟机内查看 IP(ch07 详讲)
ip -br addr show
systemctl is-active ssh
1.5 首次登录、sudo 与系统更新
Linux 多用户模型:root 超级用户;日常用普通用户 + sudo 提权(ch03 详讲权限)。
whoami
id
groups
# 确认 sudo 可用(会提示输入当前用户密码)
sudo -v
sudo apt update
sudo apt upgrade -y
安全约定(与 ops-deploy 一致):
- 禁止日常
su -长期 root shell - 禁止把开发密钥放进
/root共享目录 - 生产 SSH 禁用密码登录(ch08)
1.6 统一工作目录 dev-workspace
全学院约定:源码、笔记、虚构 shop-demo 仓库均放在 dev-workspace。