【Ubuntu】Ubuntu 服务器升级系统操作记录

Ubuntu 服务器升级操作记录

适用:从一版 Ubuntu(含 LTS)升级到下一版。默认无桌面(server/headless)。


0) 环境信息

bash 复制代码
hostnamectl
lsb_release -a || cat /etc/os-release
uname -r
df -h /
df -h /boot
sudo apt-mark showhold

1) 升级前准备

bash 复制代码
# 更新现有版本到最新补丁
sudo apt update
sudo apt upgrade -y
sudo apt dist-upgrade -y

# 清理旧包与缓存
sudo apt autoremove -y --purge
sudo apt autoclean -y

2) 执行发行版升级

bash 复制代码
# 交互式升级
sudo do-release-upgrade

常见交互选项说明:

  • 关于 配置文件冲突:若你未自定义过该服务,选"使用维护者版本";若有定制,请选"保留本地版本"并在升级后手工比对。
  • 关于 第三方源 :升级期间通常会禁用,升级后再按需恢复。

升级过程完成后,按提示 重启:

bash 复制代码
sudo reboot

3) 升级后验证与收尾

bash 复制代码
# 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) 关键日志与审计

text 复制代码
/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 不支持降级 。生产环境务必在快照/备份可回滚的前提下进行发行版升级。

相关推荐
HideF18 分钟前
Linux
linux·服务器·网络
万联WANFLOW21 分钟前
海外网络故障怎么排查?Cloudflare 三季度断网报告解读与 mtr 实战
运维·网络·故障分析
Ruiery2 小时前
Linux 6.6内核内存管理深度解析(十三):slab/slub 分配器
linux·运维·服务器
乌恩大侠3 小时前
从 AI-RAN 到 AI Agent:基于 NVIDIA Nemotron 构建 5G/6G 智能网络故障诊断系统
服务器·人工智能·5g·o-ru·ai-ran·电信大模型
Decay__4 小时前
04_MySQL DBA 日常运维手册 —— 会话管理、锁与阻塞、事务监控、慢查询与日志巡检
运维·数据库·sql·mysql·架构
江华森5 小时前
数据中心基础设施运维实战:概述与实验环境搭建
运维
迪菲赫尔曼5 小时前
【基础篇 11】把官方源码放到服务器:版本、解压层级和安装位置,一次弄清楚
运维·服务器·开发语言·人工智能·python·yolo·目标检测
by209996 小时前
Linux GCC/G++ 编译与 Makefile 构建
linux·运维·服务器·经验分享
螺丝钉tina7 小时前
[Playwright][08] Upload 模块自动化:如何设计真实业务测试用例?
运维·自动化·测试用例
迪菲赫尔曼7 小时前
【基础篇 12】把环境与源码接起来:检查 GPU,再安装服务器上的项目
运维·服务器·开发语言·人工智能·python·yolo·目标检测