运维救援:系统升级与回滚
在 Linux 世界中,“升级”既是享受最新特性的时刻,也是系统最脆弱的时刻。特别是对于滚动更新(Rolling Release)的发行版,掌握正确的升级姿势是防止“滚挂”的唯一手段。
1. 升级前的“救命”清单
绝对禁止
严禁在没有备份的情况下执行大版本升级!
- 执行快照: 运行
sudo timeshift --create。 - 备份数据: 确保
/home或关键业务数据已同步至云端或外部硬盘。 - 查看官方通告:
- Arch: 检查首页新闻(Arch News)。
- Debian/Ubuntu: 查看 Release Notes。
2. 安全升级流程
# 1. 刷新元数据
sudo apt update
# 2. 安全更新
sudo apt upgrade
# 3. 处理依赖变动的全面更新
sudo apt full-upgrade# 滚动更新
sudo pacman -Syu# 使用 DNF 插件进行大版本更新 (如 39 -> 40)
sudo dnf system-upgrade download --releasever=40
sudo dnf system-upgrade reboot3. 当升级失败后:回滚实战
3.1 无法进入系统
- 引导至 Grub 菜单。
- 如果你在之前的章节配置了 Btrfs + Snapper,可以直接在 Grub 中选择上一份快照引导进入系统。
- 否则,插入 Live USB,运行 Timeshift 执行还原。
3.2 驱动失效(黑屏)
通常是 NVIDIA 驱动未随内核同步编译导致的。
▶ 解决方法
- 在 Grub 按
e编辑内核参数,加入nomodeset启动。 - 进入系统后,重新运行 DKMS 或重装驱动:
sudo dkms autoinstall
4. 生产环境的“蓝绿部署”思维
在管理关键业务服务器时,建议不要原地升级(In-place Upgrade)。
- 做法: 启动一台新版本的服务器,将业务流量切过去,确认无误后再销毁旧服务器。