Ubuntu 如何定义哪些 linux-headers-* 将与 linux-headers-generic 一起安装?

bom*_*ben 2 upgrade kernel linux-headers 23.04

从 22.10 升级到 23.04 时,我遇到了这个错误,导致系统无法启动,因为最新的内核6.2.0-20尚未正确安装。

\n

我使用 GRUB 启动菜单来定义较旧的内核(显然,5.19.0-41这是最新内核“后面”唯一可用的内核6.2.0-20),所以现在我在这个较旧的内核上运行。

\n

为了清理我的系统,我尝试清理新内核和损坏内核的apt remove linux-headers-6.2.0-20所有其他相关标头,但这是不可能的,因为非特定依赖于这些包。6.2.0-20linux-headers-generic

\n

因此,我还linux-headers-generic计划在删除有问题的标头后重新安装它。我手动清除了所有这些新标头,直到列表几乎为空(我离开是linux-libc-dev:amd64因为这似乎不会引起问题):

\n
$ sudo dpkg -l | grep "6.2.0-20"\npi  linux-headers-6.2.0-20                                      6.2.0-20.20                               all          Header files related to Linux kernel version 6.2.0\nrc  linux-image-6.2.0-20-generic                                6.2.0-20.20                               amd64        Signed kernel image generic\nii  linux-libc-dev:amd64                                        6.2.0-20.20                               amd64        Linux Kernel Headers for development\nrc  linux-modules-6.2.0-20-generic                              6.2.0-20.20                               amd64        Linux kernel extra modules for version 6.2.0 on 64 bit x86 SMP\nrc  linux-modules-extra-6.2.0-20-generic                        6.2.0-20.20                               amd64        Linux kernel extra modules for version 6.2.0 on 64 bit x86 SMP\n
Run Code Online (Sandbox Code Playgroud)\n

但现在,当apt install linux-headers-generic它仍然尝试安装最新的标头时:

\n
$ sudo apt install linux-headers-generic\nDie folgenden zus\xc3\xa4tzlichen Pakete werden installiert:\n  linux-headers-6.2.0-20 linux-headers-6.2.0-20-generic\n
Run Code Online (Sandbox Code Playgroud)\n

现在我想知道,系统如何确定在安装常规版本时将安装较新的内核linux-headers-generic,我可以以某种方式将其重置为较旧的内核吗?

\n

pop*_*pey 5

5.19.0-41是 Ubuntu 22.10 内核。它不在 23.04 的存储库中,因此您无法使用apt. 升级之前它可能仍在您的系统上。

linux-headers-generic是一个元包,它始终指向最新的标头集。

您可以准确指定要安装的标头apt install linux-headers-6.2.0-20-generic,例如元包指向的标头(请参阅更改日志

但是您将无法apt install这样做linux-headers-5.19.0-41-generic,因为如上所述,它不在 23.04 存储库中。

当您在 23.04 上运行 5.19 时,您可以手动获取 deb: