【Ubuntu】Ubuntu 服务器升级系统操作记录
Ubuntu 服务器升级操作记录
适用:从一版 Ubuntu(含 LTS)升级到下一版。默认无桌面(server/headless)。
0) 环境信息
hostnamectl
lsb_release -a || cat /etc/os-release
uname -r
df -h /
df -h /boot
sudo apt-mark showhold
1) 升级前准备
# 更新现有版本到最新补丁
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y# 清理旧包与缓存
sudo apt autoremove -y --purge
sudo apt autoclean -y
2) 执行发行版升级
# 交互式升级
sudo do-release-upgrade
常见交互选项说明:
- 关于 配置文件冲突:若你未自定义过该服务,选“使用维护者版本”;若有定制,请选“保留本地版本”并在升级后手工比对。
- 关于 第三方源:升级期间通常会禁用,升级后再按需恢复。
升级过程完成后,按提示 重启:
sudo reboot
3) 升级后验证与收尾
# 1) 版本核对
lsb_release -a || cat /etc/os-release
uname -r# 2) 服务健康检查
systemctl --failed
journalctl -p 3 -xb # 仅看错误级别日志# 3) 网络 & 基础组件
ip a
sudo netplan try # 仅在 netplan 配置有变更时
snap list | column -t || true
sudo snap refresh || true# 4) 重新启用第三方源/PPAs,然后更新
# 逐个恢复 /etc/apt/sources.list.d/*.list 中被注释的条目
sudo apt update
sudo apt dist-upgrade -y
sudo apt autoremove -y --purge
4) 常见问题速查
do-release-upgrade不存在:sudo apt -y install update-manager-core- No new release found:检查
Prompt=lts/normal;若当前版本已 EOL,可临时用-d;也确认你是从受支持的直升路径升级(避免跨多版本跳升)。 - 磁盘空间不足(尤其 /boot):
sudo apt autoremove --purge清旧内核;必要时手动apt purge指定旧内核版本。 - 依赖损坏/中断:
sudo dpkg --configure -a && sudo apt -f install;必要时再次运行sudo do-release-upgrade。 - 有包被 hold:
apt-mark showhold→apt-mark unhold <pkg>后再试。 - 升级中断(断线):若在
tmux/screen内,重新连接会话继续;否则登录后运行sudo dpkg --configure -a与sudo apt -f install恢复,再重启升级。 - NVIDIA/驱动/内核模块:升级后可能需要重新安装专有驱动或 DKMS 模块。
- Docker/容器:升级前备份镜像与数据卷;升级后检查
containerd/docker服务状态与 CNI 配置。
5) 关键日志与审计
/var/log/apt/history.log # 软件包安装/升级历史
/var/log/apt/term.log # APT 终端输出日志
/var/log/dist-upgrade/main.log # 发行版升级主日志
/var/log/dist-upgrade/apt.log # 升级阶段的 APT 详情
~/upgrade-YYYY-MM-DD.log # 若使用 script 录制的操作日志
备注:Ubuntu 不支持降级。生产环境务必在快照/备份可回滚的前提下进行发行版升级。
