【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
  • 有包被 holdapt-mark showholdapt-mark unhold <pkg> 后再试。
  • 升级中断(断线) :若在 tmux/screen 内,重新连接会话继续;否则登录后运行 sudo dpkg --configure -asudo 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 不支持降级 。生产环境务必在快照/备份可回滚的前提下进行发行版升级。

相关推荐
Yeats_Liao18 分钟前
评估体系构建:基于自动化指标与人工打分的双重验证
运维·人工智能·深度学习·算法·机器学习·自动化
爱吃生蚝的于勒38 分钟前
【Linux】进程信号之捕捉(三)
linux·运维·服务器·c语言·数据结构·c++·学习
The森1 小时前
Linux IO 模型纵深解析 01:从 Unix 传统到 Linux 内核的 IO 第一性原理
linux·服务器·c语言·经验分享·笔记·unix
文艺理科生Owen1 小时前
Nginx 路径映射深度解析:从本地开发到生产交付的底层哲学
运维·nginx
期待のcode1 小时前
Redis的主从复制与集群
运维·服务器·redis
翼龙云_cloud1 小时前
腾讯云代理商: Linux 云服务器搭建 FTP 服务指南
linux·服务器·腾讯云
REDcker2 小时前
gRPC开发者快速入门
服务器·c++·后端·grpc
符哥20082 小时前
Ubuntu 常用指令集大全(附实操实例)
数据库·ubuntu·postgresql
陌上花开缓缓归以2 小时前
linux mtd-utils使用源码分析(ubuntu测试版)
linux·arm开发·ubuntu
江湖有缘2 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker