Ubuntu服务器长期支持版本(LTS)的大版本升级需要谨慎操作。以下是推荐的升级方法:
推荐方法:使用do-release-upgrade工具
1. 升级前准备
# 备份重要数据
sudo tar -czf /backup/$(date +%Y%m%d)-backup.tar.gz /etc /home /var/www
# 更新当前系统
sudo apt update && sudo apt upgrade -y
sudo apt dist-upgrade -y
# 安装升级工具
sudo apt install update-manager-core
2. 配置升级选项
编辑配置文件:
sudo nano /etc/update-manager/release-upgrades
确保设置为:
Prompt=lts
3. 执行升级
# 检查可用升级
sudo do-release-upgrade -c
# 执行升级(推荐使用screen/tmux)
sudo screen -S upgrade
sudo do-release-upgrade
替代方法:使用APT
1. 修改源列表
# 备份源列表
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
# 更新源到新版本(如20.04→22.04)
sudo sed -i 's/focal/jammy/g' /etc/apt/sources.list
2. 执行升级
sudo apt update
sudo apt dist-upgrade -y
重要注意事项
升级前检查:
- 确认当前版本:
lsb_release -a - 检查磁盘空间:至少需要5GB空闲空间
- 验证备份:确保所有重要数据已备份
- 查看已知问题:访问Ubuntu Release Notes
升级后操作:
# 清理旧包
sudo apt autoremove --purge -y
# 重启服务
sudo systemctl daemon-reload
# 验证升级
cat /etc/os-release
最佳实践建议
-
生产环境:
- 先在测试环境验证
- 选择维护窗口期操作
- 准备回滚方案
-
使用自动化工具:
# 无人值守升级(谨慎使用) sudo do-release-upgrade -f DistUpgradeViewNonInteractive -
考虑跳过版本:
- LTS到LTS支持直接升级(如18.04→20.04→22.04)
- 如需跨版本(如18.04→22.04),建议逐步升级
故障排除
如果升级失败:
- 检查日志:
/var/log/dist-upgrade/ - 恢复备份的源列表
- 使用
apt --fix-broken install修复依赖
重要提示:大版本升级可能影响服务兼容性,建议在非高峰时段操作,并确保有完整的系统备份。对于关键生产服务器,考虑使用Ubuntu的Livepatch服务减少重启需求。
CLOUD技术笔记