走啊走
加油

从Ubuntu 20.04升级到22.04或24.04需要注意哪些问题?

服务器价格表

从 Ubuntu 20.04 (Focal Fossa) 升级到 22.04 (Jammy Jellyfish) 或 24.04 (Noble Numbat) 是一个重大操作,涉及内核、库版本、默认配置和软件生态的显著变化。以下是需要重点关注的核心问题和最佳实践:


🔧 一、升级路径选择

  • 推荐路径
    20.04 → 22.04(LTS → LTS)是官方最稳定、文档最全的路径。
    20.04 → 24.04 不可直接升级!必须分步:
    20.04 → 22.04 → 24.04
    (Ubuntu 不支持跨两个 LTS 版本的直接升级)

✅ 验证当前版本:lsb_release -a
✅ 检查可用升级目标:do-release-upgrade -d(仅当 24.04 正式版发布后且你已启用非 LTS 测试版;通常建议先升 22.04)


⚠️ 二、关键风险与注意事项

1. 备份!备份!备份!

  • 完整备份 /home、自定义配置文件(如 ~/.config, /etc 中手动修改的部分)、数据库文件、Docker 卷等。
  • 使用 rsync、Timeshift(系统快照)或云存储进行多重备份。
  • 测试环境先行:在虚拟机或容器中模拟升级流程。

2. 第三方仓库与 PPA

  • 许多 PPA 可能尚未提供 22.04/24.04 的包,导致升级失败或依赖冲突。
  • 操作前
    sudo add-apt-repository --remove <ppa-name>  # 临时禁用高风险 PPA
    sudo apt update && sudo apt upgrade          # 确保现有系统最新
  • 升级后重新添加兼容的 PPA(查看 PPA 主页是否支持 Jammy/Noble)。

3. 软件兼容性

类别 潜在问题 应对建议
旧版应用 Python 3.8→3.10(20.04→22.04),GCC 9→11,glibc 2.31→2.35 测试关键业务脚本;考虑容器化(Docker/Podman)隔离环境
Snap/Flatpak Snap 沙箱机制增强,部分权限变更 更新 snapd;检查 snap listflatpak list 状态
服务器服务 Apache/Nginx 默认 TLS 策略收紧;PostgreSQL 12→14/16 提前阅读发行说明(Release Notes),调整 ssl_protocols 等配置
GPU 驱动 NVIDIA 闭源驱动需重新安装(尤其新版内核下) 优先使用 ubuntu-drivers autoinstall 或官方 .run 文件

4. 系统配置变更

  • 网络管理:Netplan 默认从 NetworkManager 接管更多场景(桌面版更明显)
  • SSH 安全:默认关闭 SSH 协议 v1,加强密钥算法要求(Ed25519 推荐)
  • 文件系统:ext4 默认启用 discard(TRIM),SSD 用户注意磨损均衡策略
  • 默认编辑器:nano 仍为默认,但部分工具链迁移至 systemd-based 启动方式

5. 硬件支持

  • 22.04/24.04 内核更新带来新硬件支持(如 Intel Arc GPU、AMD RDNA3、Wi-Fi 7),但也可能移除对极老硬件的支持(如某些 2012 年前 CPU)。
  • 升级后运行 lspci -k / lsusb 确认设备驱动正常加载。

🛠️ 三、推荐升级步骤(以 20.04 → 22.04 为例)

# 1. 完全更新当前系统
sudo apt update && sudo apt full-upgrade -y
sudo do-release-upgrade  # 触发 LTS 升级向导

# 若提示无新版本,手动指定:
sudo do-release-upgrade -d  # 仅用于测试版;正式升级请用 -c

# 2. 按提示操作(保留配置?删除废弃包?)
# 建议选择 "Keep the current version" 对于关键配置文件

# 3. 重启后验证
uname -r           # 应显示 5.15+ (22.04) 或 6.8+ (24.04)
lsb_release -a     # 确认版本
systemctl status   # 检查核心服务

💡 提示:生产环境建议在维护窗口执行,并准备回滚方案(如 LVM 快照 + Timeshift)。


📚 四、官方资源参考

  • Ubuntu 22.04 Release Notes
  • Ubuntu 24.04 Release Notes
  • Upgrade Guide for Server/Desktop
  • Known Issues by Version

✅ 总结清单

项目 是否完成
完整备份(含数据 + 配置)
清理无用包:sudo apt autoremove
记录所有第三方 PPA 及来源
测试关键应用在新版本行为
规划维护窗口 & 回滚预案
查阅对应版本 release notes

如需针对特定场景(如 Docker 集群、Kubernetes、CI/CD 流水线)的升级细节,欢迎补充说明,我可提供定制化建议。