将 Ubuntu 20.04 LTS (Focal Fossa) 升级到 Ubuntu 22.04 LTS (Jammy Jellyfish) 是一个标准的跨版本升级过程。虽然通常可以顺利完成,但强烈建议在升级前备份所有重要数据,因为升级过程存在失败或导致系统不稳定的风险,尤其是在生产环境中。
以下是详细的升级步骤:
重要提示
- 数据备份: 升级前务必备份所有重要文件、数据库和配置。
- 系统更新: 确保当前的 Ubuntu 20.04 系统已更新到最新状态。
- 充足空间: 确保系统有足够的磁盘空间(建议至少 5-10GB 可用空间)。
- 稳定连接: 如果是远程服务器,确保网络连接稳定,最好使用
screen
或tmux
会话来防止 SSH 断开。 - 兼容性检查: 检查你运行的应用程序和服务是否与 Ubuntu 22.04 兼容。
升级步骤
1. 升级当前系统到最新状态
首先,将 Ubuntu 20.04 系统的所有软件包更新到最新版本。
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y # 处理依赖关系变化,可能安装新包或移除冲突包
sudo apt autoremove -y # 清理不再需要的旧包
2. 重启系统
重启以确保所有更新(特别是内核更新)生效。
sudo reboot
3. 安装 update-manager-core
(如果尚未安装)
这个包包含了 do-release-upgrade
工具,是官方推荐的升级方式。
sudo apt install update-manager-core
4. 运行升级命令
使用 do-release-upgrade
命令启动升级过程。这个工具会自动处理大部分升级任务。
sudo do-release-upgrade
- 注意: 如果你当前使用的是 LTS 版本,
do-release-upgrade
默认会检测到下一个 LTS 版本(22.04)并进行升级。 - (可选) 如果命令没有检测到升级,可以使用
-d
标志强制检查开发版本(通常在新版本刚发布时需要):bash sudo do-release-upgrade -d
注意:-d
选项在稳定版发布后通常不需要,生产环境慎用。
5. 跟随升级向导
运行命令后,终端会显示升级信息。你需要:
- 阅读并确认信息。
- 按提示输入
y
继续。 - 升级过程中可能会暂停,询问是否要保留本地配置文件还是使用软件包维护者的新版本。通常建议:
- 如果你没有修改过配置,选择
Y
(使用新版本)。 - 如果你有自定义配置,选择
N
(保留旧版本),之后再手动合并更改。
- 如果你没有修改过配置,选择
- 升级过程需要一段时间,取决于你的网络速度和系统性能,请耐心等待。
6. 完成升级并重启
升级完成后,系统会提示你重启。
sudo reboot
7. 验证升级
重启后,登录系统,验证版本是否已成功升级。
lsb_release -a
# 或者
cat /etc/os-release
输出应显示 Ubuntu 22.04 LTS
。
8. (可选) 清理和后续
- 再次运行清理命令:
bash sudo apt autoremove -y sudo apt autoclean
- 检查并重新配置任何受影响的服务(如 Web 服务器、数据库等)。
- 更新你的 APT 软件源(如果之前是手动修改的),将
focal
替换为jammy
。但通常do-release-upgrade
会自动处理。
其他方法(不推荐作为首选)
- 图形界面升级: 在桌面版 Ubuntu 中,系统可能会弹出升级通知,你可以直接点击升级。步骤与命令行类似。
- 手动修改
sources.list
: 手动将/etc/apt/sources.list
文件中的focal
替换为jammy
,然后运行apt update && apt dist-upgrade
。这种方法风险更高,强烈不推荐,因为它绕过了do-release-upgrade
的安全检查和迁移脚本,容易导致系统损坏。
总结: 最安全、最推荐的方法是使用 sudo do-release-upgrade
命令。请务必遵循备份和更新步骤,以确保升级过程顺利。