这次升级不是跨大版本,但跨度不小:内核、systemd、glibc 全都动了。我的习惯是先 apt-get update 看一遍可升级列表,把带 linux-image 的单独记下来,然后挑一个能接受十分钟不可用的时间段动手。
apt list --upgradable 的输出一定要逐行看。尤其注意那些标记了 security 的包,它们通常没有兼容性问题,可以闭着眼睛升;真正要小心的是大版本号跳动的库。
升级过程中最容易被忽略的一步是 conffile 冲突提示。如果 /etc 下的文件你手动改过,dpkg 会问你要保留哪个版本。默认选“保留本地版本”通常是对的,但如果你已经不记得改过什么,最好先看一眼 diff 再决定。用 --force-confold 可以批量按“保留本地”处理,省事但有风险。
升级完系统会提示 /var/run/reboot-required。看到这个文件不一定必须立刻重启,可以先升完所有包、确认服务正常,再安排重启。但如果内核也升了,早重启早安心。
升级完记得跑一遍 systemctl --failed,把失败的服务一个个看清楚。这次就有一个历史遗留的小服务因为配置文件换路径而起不来,改一行就解决了。