Skip to Content
文档运维升级与迁移24.04 LTS 升级到 26.04 LTS

从 24.04 LTS 升级到 26.04 LTS

1全盘备份

至少把 /etc、/home、数据库 dump 出来;服务器另留 IPMI / 控制台兜底。

2apt full-upgrade

把 24.04 现有包升到最新,确保升级器在干净基线上运行。

3do-release-upgrade

触发跨版本升级;中途按 Y 接受默认配置,全程不要断电。

Note

26.04.1 已于 2026 年 8 月 27 日 发布,这是 24.04 LTS 自动升级提示开启的节点。官方表示需要先发布 rust-coreutils 回归修复,自动提示预计在发布后约两周(2026 年 9 月初)开启;在此期间可以用 sudo do-release-upgrade -d 立即升级。

Ubuntu 支持 LTS 到 LTS 的直接升级。本文详细介绍从 Ubuntu 24.04 LTS (Noble Numbat) 升级到 26.04 LTS 的完整流程。

升级前提条件

  • 当前系统为 Ubuntu 24.04 LTS 且已安装所有更新
  • 至少 5 GB 可用磁盘空间
  • 稳定的网络连接
  • 已完成数据备份
  • 对于远程服务器,确保有带外管理(如 IPMI、云控制台)作为备用访问方式
Warning

版本升级是重大操作,存在升级失败或软件不兼容的风险。升级前务必完成完整的数据备份,对于服务器请确保有带外管理等备用访问方式。升级过程中不要中断电源或网络连接。

升级前准备

1. 确认当前版本

lsb_release -a cat /etc/os-release

2. 更新当前系统

sudo apt update sudo apt upgrade -y sudo apt dist-upgrade -y sudo apt autoremove -y

3. 确保 update-manager-core 已安装

sudo apt install update-manager-core -y

4. 检查升级策略

cat /etc/update-manager/release-upgrades

确认 Prompt 设置为 lts:

[DEFAULT] Prompt=lts

如果值不是 lts,修改它:

sudo sed -i 's/^Prompt=.*/Prompt=lts/' /etc/update-manager/release-upgrades

5. 处理第三方源和 PPA

# 列出所有第三方源 grep -r "^deb " /etc/apt/sources.list.d/ 2>/dev/null apt-cache policy | grep -v ubuntu.com # 建议升级前禁用所有 PPA sudo add-apt-repository --remove ppa:example/ppa # 或手动注释掉第三方源

升级工具会自动禁用第三方源,但提前处理可以减少潜在问题。

6. 记录当前系统状态

# 记录已安装的包 dpkg --get-selections > ~/packages-before-upgrade.txt # 记录运行中的服务 systemctl list-units --type=service --state=running > ~/services-before-upgrade.txt # 记录网络配置 ip addr > ~/network-before-upgrade.txt cat /etc/netplan/*.yaml > ~/netplan-before-upgrade.txt 2>/dev/null # 记录内核版本 uname -r > ~/kernel-before-upgrade.txt

执行升级

桌面系统

# 图形界面升级 sudo do-release-upgrade -f DistUpgradeViewGtk3

或等待系统自动提示升级通知。

服务器 / 命令行

# 通过 SSH 执行升级 sudo do-release-upgrade

如果 26.04 刚发布不久,可能需要加 -d 参数:

sudo do-release-upgrade -d

升级过程中的交互

升级过程中会出现几个需要确认的提示:

  1. 开始升级确认 - 确认继续升级
  2. SSH 端口 - 升级工具会在 1022 端口开启备用 SSH 服务,以防 22 端口中断
  3. 配置文件冲突 - 当配置文件被修改过时,需要选择保留本地版本还是使用新版本
    • 关键文件(如 SSH 配置)建议保留本地版本
    • 不确定的选择保留本地版本,升级后再手动合并
  4. 移除过时软件包 - 选择是否删除不再需要的包
  5. 重启确认 - 升级完成后重启系统

SSH 升级的特别注意事项

# 升级工具会提示在 1022 端口运行备用 SSH # 如果主 SSH 连接断开,使用: ssh -p 1022 user@server-ip # 防火墙放行 1022 端口 sudo ufw allow 1022/tcp # 推荐使用 screen 或 tmux 运行升级 sudo apt install screen -y screen -S upgrade sudo do-release-upgrade # 如果断开连接,重新接入: screen -r upgrade

升级后验证

1. 确认版本

lsb_release -a # 应显示 Ubuntu 26.04 LTS cat /etc/os-release uname -r

2. 检查系统状态

# 检查是否有损坏的包 sudo dpkg --audit sudo apt --fix-broken install # 检查是否有保留未升级的包 apt list --upgradable # 完成剩余更新 sudo apt update sudo apt upgrade -y

3. 检查服务状态

# 查看失败的服务 systemctl --failed # 对比升级前的服务列表 systemctl list-units --type=service --state=running

4. 清理

# 删除旧内核(保留当前和前一个版本) sudo apt autoremove --purge -y # 清理包缓存 sudo apt clean # 重新启用需要的第三方源(更新为 26.04 版本) # 注意:PPA 地址中的版本代号需要更新

5. 恢复第三方源

# 升级后第三方源被禁用,文件名后缀变为 .distUpgrade ls /etc/apt/sources.list.d/*.distUpgrade # 检查 PPA 是否支持 26.04 # 如果支持,重新添加 sudo add-apt-repository ppa:example/ppa

常见问题

升级过程中断

# 如果升级中断,尝试恢复 sudo dpkg --configure -a sudo apt --fix-broken install sudo do-release-upgrade

“No new release found”

# 确认 Prompt 设置正确 cat /etc/update-manager/release-upgrades # 尝试使用 -d 参数 sudo do-release-upgrade -d # 检查网络连接 ping changelogs.ubuntu.com

包依赖冲突

# 查看冲突详情 sudo apt -f install sudo dpkg --audit # 强制配置未完成的包 sudo dpkg --configure -a # 查看日志 cat /var/log/dist-upgrade/main.log cat /var/log/dist-upgrade/apt.log

升级后无法启动

如果升级后系统无法启动:

  1. 在 GRUB 菜单中选择旧内核启动
  2. 进入 Recovery Mode
  3. 检查 /var/log/dist-upgrade/ 下的日志
  4. 修复损坏的包:dpkg --configure -a && apt --fix-broken install

升级日志

所有升级日志保存在 /var/log/dist-upgrade/ 目录下:

ls -la /var/log/dist-upgrade/ # main.log - 主日志 # apt.log - APT 操作日志 # apt-term.log - APT 终端输出 # history.log - 升级历史 # lspci.txt - 硬件信息快照

相关文章

Last updated on