最近 Ubuntu 25.04(代号 Plucky Puffin)的消息不少,不仅内核升到了 Linux 6.14,连虚拟化栈和数据库(MySQL 8.4 / PostgreSQL 17)也都刷到了新版本。对于咱们这种喜欢尝鲜、追求极致开发体验的人来说,升级是早晚的事。
不过老规矩,在动大手术之前,我得先唠叨两句。跨大版本升级这种事儿,哪怕技术再稳,也建议别在生产环境或者存了重要资料的本地系统上直接莽。 万一中间断网或者依赖冲突,修起来够你喝一壶的。
我个人做这类实验,从来不拿自己的主力电脑开玩笑,通常都是顺手撸台云服务器来折腾。对比了不少家,我最近一直跑实验用的是 雨 云服务器,主要有几个点挺香的:
- 试错成本极低:搞崩了直接后台点一下"重装系统",几秒钟又是条好汉,不心疼。
- 自带环境:后台能一键预装 1Panel 或者 Docker 环境,省去很多敲命令的枯燥时间。
环境准备好了,咱们直接开干。
第一步:基础环境自检
先看看你的磁盘空间够不够。这种连跨两个版本的操作,没 5GB 以上的余量基本会卡死在解包阶段。
console
$ df -h
顺便确认下你当前的系统版本,确保是从 24.04 出发:
console
$ cat /etc/os-release
接下来是常规的"全家桶"更新,把 24.04 的补丁打满:
console
$ sudo apt update && sudo apt upgrade -y
$ sudo reboot
重启回来后,清理一下旧缓存:
console
$ sudo apt autoremove -y
$ sudo apt autoclean
第二步:开启 SSH 逃生通道
跨版本升级最怕中途 SSH 断连,导致进度卡死,服务器变砖。Ubuntu 官方在升级时会开启一个 1022 端口作为备用。咱们得先在防火墙把这个口子放开:
console
$ sudo ufw allow 1022/tcp
$ sudo ufw reload
$ sudo ufw status
博主吐槽 :如果你是用我上面提到的 雨云服务器,其实可以通过后台自带的 VNC 远程桌面监控全过程,即使 SSH 挂了也能直接在浏览器里操作,不用死磕 1022 端口。
第三步:从 Ubuntu 24.04 跨越到 24.10
因为 24.04 是 LTS(长期支持版),而 24.10 是普通版本,系统默认是不允许"降级"到非 LTS 路径的。我们需要手动改下策略:
-
修改升级配置文件:
console$ sudo vim /etc/update-manager/release-upgrades -
把底部的
Prompt=lts改成Prompt=normal。
然后开始第一波冲击:
console
$ sudo do-release-upgrade
这里会有一连串的交互确认:
- 提示是否在 SSH 下运行?选
Y。 - 提示额外开启 1022 端口?回车确认。
- 提示要下载 1GB+ 的包?直接一把梭选
Y。
过程中会弹出键盘布局选择和 Grub 配置确认,看图操作:


遇到 Grub 配置文件冲突,除非你自己改过内核引导参数,否则稳妥起见选"保留当前安装的本地版本":

清理掉过时包并重启:
console
$ cat /etc/os-release
看到 VERSION="24.10 (Oracular Oriole)",恭喜你,第一阶段完成。
第四步:进击 Ubuntu 25.04 (Plucky Puffin)
由于 25.04 目前可能还处于开发周期(Development Branch),标准的升级命令可能搜不到它。我们需要加一个 -d (Development) 参数来强制探测。
先检查下配置:
console
$ cat /etc/update-manager/release-upgrades
# 确保 Prompt 依然是 normal
同步仓库并升级:
console
$ sudo apt update && sudo apt upgrade -y
$ sudo reboot
$ sudo do-release-upgrade -d
升级流程和上一步基本一致。如果在拉包阶段觉得进度条不动,多半是网络环境问题。用海外节点的优势就在这儿体现出来了,基本都是满速下载。
完成后再次重启,验证成果:
console
$ cat /etc/os-release
你会看到 VERSION="25.04 (Plucky Puffin)"。再查一下内核:
console
$ uname -mrs
# 应该是 Linux 6.14 左右的版本
最后别忘了把临时开的防火墙端口删了:
console
$ sudo ufw delete allow 1022/tcp
升级后的收尾
升级完别急着欢呼,检查下第三方源(比如 Docker、Nginx 等)是否失效。
console
$ ls /etc/apt/sources.list.d
如果发现某些源还是指向 noble (24.04) 或 oracular (24.10),你需要手动编辑这些 .list 文件,把代号改成 plucky,然后执行 sudo apt update。
写在最后
纸上得来终觉浅,这种跨版本升级的操作,光看教程是不够的,中间可能会遇到各种玄学报错(比如 Python 依赖冲突或旧版 PPA 导致锁死)。
我建议大家花一块钱去搞台 雨云的测试服务器 跟着上面的步骤手操一遍。万一搞砸了,直接重装系统重来;要是搞定了,你也就掌握了 Ubuntu 滚动升级的核心逻辑。白嫖实战经验之后再退款也是可以的,重点是咱们得把技术学到手。