从 Ubuntu 20.04 LTS (Focal Fossa) 升级到 22.04 LTS (Jammy Jellyfish) 或 24.04 LTS (Noble Numbat) 是一个重要的系统维护任务。直接升级(In-place Upgrade)虽然方便,但存在一定风险。
以下是详细的注意事项、最佳实践和步骤建议:
⚠️ 核心原则:备份!备份!备份!
在进行任何重大系统升级之前,必须做好完整备份。
- 重要数据备份:将
/home目录下的个人文件、配置文件(如.bashrc,.config等)备份到外部硬盘或云存储。 - 系统快照(如果可能):如果你使用 Btrfs 文件系统且有快照功能,或者使用了虚拟机/容器,请先创建快照。
- 记录当前环境:列出已安装的软件包列表 (
dpkg --get-selections > packages.txt) 和自定义配置,以便在需要时恢复。
一、升级路径选择
✅ 推荐路径:20.04 → 22.04 → 24.04
- Ubuntu 不支持跨版本直接升级(例如不能直接从 20.04 升到 24.04)。
- 你必须先升级到 22.04,确认稳定后,再升级到 24.04。
- 跳过版本的风险:可能导致依赖关系混乱、内核不兼容、驱动失效等问题。
❌ 不推荐:直接重装
- 虽然干净,但耗时且容易丢失用户配置。除非你愿意重新安装所有软件并手动迁移配置,否则优先尝试原地升级。
二、升级前的准备工作
1. 确保当前系统完全更新
sudo apt update
sudo apt full-upgrade -y
sudo reboot
确保 20.04 是最新版本,避免已知 bug 影响升级过程。
2. 清理无用软件和缓存
sudo apt autoremove
sudo apt clean
减少磁盘占用,降低升级失败风险。
3. 检查第三方源(PPA)
- 禁用非官方 PPA:许多 PPA 可能不兼容新版本,导致升级中断。
- 方法:使用
ppa-purge工具移除 PPA,或手动编辑/etc/apt/sources.list.d/中的文件,注释掉相关行。 - 注意:某些关键 PPA(如 Wine、Node.js)可能在 22.04/24.04 中有原生支持,无需额外 PPA。
4. 检查硬件兼容性
- 显卡驱动:特别是 NVIDIA 专有驱动,建议在升级前卸载并使用开源
nouveau驱动测试稳定性,或确保有最新闭源驱动可用。 - Wi-Fi/蓝牙:某些旧网卡驱动在新内核中可能被移除或更改名称。
5. 电源保障
- 如果是笔记本,请连接电源适配器。
- 如果是服务器,确保 UPS 正常工作。
三、升级过程中的注意事项
1. 使用图形界面升级(Desktop 用户)
- 打开“软件与更新” → “更新”标签页。
- 点击“现在安装”,按提示操作。
- 优点:自动处理大部分依赖问题。
- 缺点:若遇到冲突,可能需要手动干预。
2. 使用命令行升级(Server/高级用户)
sudo do-release-upgrade
- 务必阅读输出信息:每一步都会询问是否继续,仔细阅读每个提示。
- 不要跳过任何警告:尤其是关于保留配置文件或删除包的警告。
- 网络稳定性:确保网络连接稳定,避免中途断网导致包损坏。
3. 处理配置文件冲突
- 升级过程中会提示你是否保留修改过的配置文件(
.dpkg-dist,.dpkg-old等)。 - 一般建议:
- 如果你不确定,选择“保留原样”(保持当前配置),升级后再比较差异。
- 对于关键服务(如 Nginx, Apache, MySQL),建议备份原始配置文件后再决定。
四、升级后的验证与修复
1. 重启系统
sudo reboot
2. 检查系统状态
lsb_release -a # 确认版本号
uname -r # 确认内核版本
df -h # 检查磁盘空间是否充足
3. 清理残留包
sudo apt autoremove
sudo apt autoclean
4. 检查第三方应用
- 浏览器插件:Firefox/Chrome 插件通常会自动迁移,但需手动启用或更新。
- 开发环境:Python、Node.js、Docker 等可能需要重新安装或配置环境变量。
- NVIDIA 驱动:如果使用专有驱动,可能需要重新安装 DKMS 模块。
5. 检查日志错误
journalctl -xe | grep error
dmesg | tail -n 20
查看是否有驱动或服务启动失败的错误。
五、常见问题及解决方案
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
| 升级卡住或报错 | PPA 冲突 | 禁用所有非官方 PPA,重试升级 |
| 黑屏/无法进入桌面 | 显卡驱动问题 | 使用 nomodeset 内核参数启动,然后安装正确驱动 |
| Wi-Fi 不可用 | 驱动缺失 | 安装 linux-firmware 或对应厂商驱动 |
| 部分软件无法启动 | 依赖库变化 | 重新编译或重新安装该软件 |
| 磁盘空间不足 | 旧内核未清理 | 运行 sudo apt autoremove 删除旧内核 |
六、特别建议:何时考虑全新安装?
如果出现以下情况,强烈建议备份数据后全新安装,而非原地升级:
- 系统已经非常陈旧,多年未升级。
- 安装了大量第三方软件,且来源复杂。
- 遇到难以解决的依赖冲突。
- 对系统稳定性要求极高(如生产服务器)。
总结:
- 小步走:20.04 → 22.04 → 24.04。
- 勤备份:数据安全第一。
- 细观察:仔细处理每一个提示和警告。
- 善清理:升级后及时清理无用包和旧内核。
遵循以上步骤,可以最大程度降低升级风险,顺利完成过渡。
云知识CLOUD