我看到了一些有关 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
Run Code Online (Sandbox Code Playgroud)
“linux-headers-generic将始终取决于可用的最新通用内核头文件”,因此我认为安装它会安装最新的软件包(在本例中,linux-headers-4.13.0-43-generic根据 VirtualBox 的要求)并保持它们最新。
但是,如果我尝试这样做,系统会要求我安装看起来非常旧的软件包:
$ 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.
Run Code Online (Sandbox Code Playgroud)
还有一个名为 的包linux-headers-generic-lts-xenial,但它或多或少做同样的事情。
所以,我的问题是:
linux-headers-4.13.0-43-generic直接安装必要的包,升级内核后会发生什么?默认情况下应该有 linux-headers-generic 软件包吗?哪一个?
不,都不是。
我需要在我的情况下安装其中一个吗?
从内核版本来看,您似乎正在使用硬件启用堆栈(HWE) 内核。因此,您应该安装以下标头:linux-headers-generic-hwe-16.04,元包应该依赖于 HWE 内核 (4.13) 的正确标头包。
如果我
linux-headers-4.13.0-43-generic直接安装必要的包,升级内核后会发生什么?
您必须再次手动安装相关标头。最好使用linux-headers-generic-hwe-16.04.
| 归档时间: |
|
| 查看次数: |
32654 次 |
| 最近记录: |