我看到一些关于linux-headers软件包的问题,但找不到解决我的特定问题的任何内容。
我使用的是Kubuntu 16.04,在VirtualBox中收到以下错误:
请安装与当前内核匹配的Linux内核“头”文件,以便向系统添加新的硬件支持。可能包含头文件的发行版软件包有:
linux-headers-generic linux-headers-4.13.0-43-generic
看到linux-headers-generic
未安装,我感到惊讶,尽管我不确定它是否应该默认安装。
无论如何,虽然内核版本是4.13.0-43-generic,但相应的头文件确实没有被安装:
$ uname -r
4.13.0-43-generic
$ aptitude search linux-headers | grep ^i
id linux-headers-4.13.0-32 - Header files related to Linux kernel versi
id linux-headers-4.13.0-32-generic - Linux kernel headers for version 4.13.0 on
i A linux-headers-4.13.0-37 - Header files related to Linux kernel versi
i A linux-headers-4.13.0-37-generic - Linux kernel headers for version 4.13.0 on
i A linux-headers-4.13.0-38 - Header files related to Linux kernel versi
i A linux-headers-4.13.0-38-generic - Linux kernel headers for version 4.13.0 on
i A linux-headers-4.13.0-39 - Header files related to Linux kernel versi
i A linux-headers-4.13.0-39-generic - Linux kernel headers for version 4.13.0 on
“linux-headers-generic”将始终依赖于可用的最新通用内核头文件,因此我认为安装它将安装最新的软件包(在这种情况下,VirtualBox所需的“linux-headers-4.13.0-43-generic”),并使它们保持最新状态。
然而,如果我尝试这样做,我会被要求安装似乎非常旧的软件包:
$ sudo aptitude install linux-headers-generic
The following NEW packages will be installed:
linux-headers-4.4.0-127{a} linux-headers-4.4.0-127-generic{a} linux-headers-generic
0 packages upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
Need to get 10.8 MB of archives. After unpacking 78.4 MB will be used.
还有一个叫做
linux-headers-generic-lts-xenial
的软件包,但它基本上和前面的那个一样。所以,我的问题是:
- 默认情况下应该安装哪个linux-headers-generic软件包?
- 在我的情况下,我需要安装其中任何一个吗?
- 如果我直接安装所需的
linux-headers-4.13.0-43-generic
软件包,当内核升级时会发生什么?
linux-{header,image}-generic
软件包适用于4.4内核,而-hwe-16.04
则适用于HWE内核。请参考https://wiki.ubuntu.com/Kernel/RollingLTSEnablementStack和https://wiki.ubuntu.com/Kernel/LTSEnablementStack。 - muru