Ubuntu 22.04.3 Server如何安装可自动更新的5.19内核?
我完全懂你的困扰——想要用上支持AMX指令的5.19内核,还得能自动接收安全补丁,既不想被锁死在单个版本,也不想被迫升级到6.2内核(毕竟不少硬件驱动还没适配)。
问题核心出在Ubuntu的HWE(硬件启用栈)机制上:22.04的HWE内核现在默认已经切换到6.2系列了,但5.19的HWE分支仍然在维护,只是需要手动指定安装对应的元包,而不是直接装单个内核文件。
下面是一步步的解决方案:
1. 清理已有的高版本HWE内核(如果装过的话)
如果你之前已经安装过linux-generic-hwe-22.04(现在默认指向6.2内核),先把它移除避免冲突:
sudo apt remove --purge linux-generic-hwe-22.04 linux-image-generic-hwe-22.04 linux-headers-generic-hwe-22.04
2. 安装5.19系列的HWE元包
这是关键步骤——要安装锁定到5.19分支的HWE元包,这些元包会自动追踪5.19系列的所有更新补丁:
sudo apt install linux-generic-hwe-22.04=5.19.0.50.52~22.04.16 linux-image-generic-hwe-22.04=5.19.0.50.52~22.04.16 linux-headers-generic-hwe-22.04=5.19.0.50.52~22.04.16
这些版本号对应5.19系列的最新维护版本,安装后,后续运行sudo apt upgrade时,系统会自动拉取5.19.x的补丁更新,比如从5.19.0-46升级到5.19.0-50,再到后续的安全修复版本。
3. 固定元包版本,防止自动升级到6.2
为了避免系统后续自动把HWE内核升级到6.2系列,需要把这些元包锁定住:
sudo apt-mark hold linux-generic-hwe-22.04 linux-image-generic-hwe-22.04 linux-headers-generic-hwe-22.04
4. 更新引导并重启
最后更新grub引导配置,重启后就能用上带自动更新的5.19内核了:
sudo update-grub sudo reboot
重启后,运行uname -a验证,应该能看到类似Linux xxx 5.19.0-50-generic ...的输出。之后每次执行sudo apt upgrade,都会自动安装5.19系列的最新安全补丁,不用再手动指定内核版本啦。
为啥之前直接装单个内核包不行?因为单个内核镜像包(比如linux-image-5.19.0-46-generic)没有关联到更新追踪的元包,apt不知道要帮你升级到同系列的新版本。而HWE元包的作用就是帮你自动管理同一系列内核的更新,这才是正确的打开方式~
备注:内容来源于stack exchange,提问作者Earl Ruby




