Debian apt upgrade 与内核回滚机制
Debian 里 apt upgrade 会保留旧内核、GRUB 默认进最新的规律,新内核出问题怎么回退旧内核,hold 住内核包防止误升的方法。
结论先行
Debian 的 apt upgrade 装新内核时旧内核包默认保留(不自动卸载),GRUB 默认项通常是最新内核;新内核出问题,重启时在 GRUB 里选「Advanced options」进旧内核即可,不需要重新装系统。
升级与默认行为
sudo apt update
sudo apt full-upgrade # Debian 习惯用 full-upgrade(自动处理依赖)
- 内核是「多版本共存」:
linux-image-<ver>-amd64每个内核一个包,新版装进来时旧版不删。 - GRUB 菜单:第一项默认是最新内核;「Advanced options for Debian」下展开各版本与 recovery 项。
新内核出问题怎么回退
- 重启进 GRUB → 「Advanced options」→ 选旧版本内核项。
- 进系统后确认问题与新内核相关,保持旧版可进。
- 需要的话
apt install linux-image-<旧版>把旧内核装回来(如果已被卸载)。 - 定位修复后,再考虑是否删除旧内核:
apt purge linux-image-<旧版>,然后sudo update-grub(若菜单变乱)。
防止内核被自动升级(可选)
sudo apt-mark hold linux-image-amd64
- 临时策略,长期服务器建议保留滚动内核更新,hold 只在排障期间用。
- 解除:
sudo apt-mark unhold linux-image-amd64。
内核来源随发行版不同:Debian 用 Debian 13.7.0 DVD-1 条目 对应的仓库内核,Ubuntu 的 HWE 机制不同,两边回滚方法通用但包名有差别。