You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何阻止APT升级旧内核版本并妥善处理微码相关依赖包

如何阻止APT升级旧内核版本并妥善处理微码相关依赖包

嗨,我来帮你搞定这个问题!你已经手动安装了更新的6.1.7内核,不想再被旧的5.*版本内核更新打扰,这个需求完全合理,下面给你一步步讲清楚怎么操作:

一、用apt-mark hold锁定旧内核包,彻底阻止升级

这是最直接且全局生效的方法——把那些会触发旧内核升级的元包标记为“保留”,这样不管你手动运行apt upgrade还是系统自动升级,APT都不会碰它们。

执行以下命令锁定目标包:

sudo apt-mark hold linux-generic-hwe-22.04 linux-headers-generic-hwe-22.04 linux-image-generic-hwe-22.04

之后再运行sudo apt-get upgrade,你就不会再看到这些包被“kept back”或者提示升级了。如果之后你改变主意想解锁这些包,只需要把hold换成unhold就行:

sudo apt-mark unhold linux-generic-hwe-22.04 linux-headers-generic-hwe-22.04 linux-image-generic-hwe-22.04

二、妥善处理微码相关包,避免误删

你提到的amd64-microcode、intel-microcode和iucode-tool是CPU微码更新工具,它们的作用是修复CPU的安全漏洞、提升稳定性,和内核版本是相对独立的——哪怕你用最新的6.1.7内核,这些微码更新依然对你的系统很重要,绝对不能随便删掉。

刚才你尝试删除旧内核元包时,系统提示这些微码包是“自动安装的依赖”,这是因为它们当初是随旧内核元包一起安装的,但这不代表它们只服务于旧内核。你可以把它们标记为手动安装,这样apt autoremove就不会把它们当成无用依赖清理掉:

sudo apt-mark manual amd64-microcode intel-microcode iucode-tool

标记完成后,如果你确实想删掉旧内核的元包(比如linux-generic-hwe-22.04),就可以放心执行:

sudo apt remove linux-generic-hwe-22.04 linux-image-generic-hwe-22.04

之后运行sudo apt autoremove,微码包也会被保留下来。

三、关于黑名单方法的补充

你提到的在/etc/apt/apt.conf.d/50unattended-upgrades里加黑名单的方法,只对无人值守自动升级生效,手动运行apt upgrade时还是会看到旧内核的升级提示。而apt-mark hold是全局生效的,不管手动还是自动升级都会锁定包,显然更符合你的需求。

总结一下,先锁定旧内核包阻止升级,再把微码包标记为手动安装避免误删,这两个步骤就能完美解决你的问题啦!

备注:内容来源于stack exchange,提问作者user1700112

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 14:03:07