Файлы заголовка ядрa Linux для соответствия текущему ядру

Я видел несколько вопросов о пакетах заголовков Linux, но не мог найти, что что-либо решило мою конкретную проблему.

Я нахожусь на Kubuntu 16.04, и я получил следующую ошибку (от VirtualBox):

Установите файлы "заголовка" ядра Linux, соответствующие текущему ядру для добавления новой поддержки оборудования к системе. Пакеты распределения, содержащие заголовки, вероятно:

linux-headers-generic linux-headers-4.13.0-43-generic

Я был удивлен видеть это linux-headers-generic не был установлен, хотя я не действительно уверен, как ли это, предполагается, там по умолчанию.

В любом случае, в то время как ядро 4.13.0-43-универсально, соответствующие заголовки, действительно, не установлены:

$ 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 "будет всегда зависеть от последних универсальных заголовков ядрa, доступных", таким образом, я думал, что установка его установит последние пакеты (в этом случае, 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.

Существует также названный пакет linux-headers-generic-lts-xenial, но это делает, более или менее, то же самое.

Так, мои вопросы:

  • Должен любой из linux-headers-generic пакетов быть там по умолчанию? Какой?
  • Я должен установить любого из них в моем случае?
  • Если я устанавливаю необходимое linux-headers-4.13.0-43-generic упакуйте непосредственно, что происходит, когда ядро обновлено?
2
задан 12 June 2018 в 05:30

3 ответа

Должен ли какой-либо из пакетов 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.

4
ответ дан 2 December 2019 в 02:13

Самое простое решение - установить недостающие пакеты:

$ sudo apt install linux-headers-generic linux-headers-4.13.0-43-generic
Reading package lists... Done
Building dependency tree       
Reading state information... Done
linux-headers-4.13.0-43-generic is already the newest version (4.13.0-43.48~16.04.1).
linux-headers-generic is already the newest version (4.4.0.127.133).
0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.

Моя система уже установила то, чего нет у вас. Почему они отсутствуют, я не могу сказать.

Обратите внимание, что для linux-headers-generic самая последняя версия действительно 4.4.0.127.133. Хотя Linux Kernel 4.4 был выпущен в 2015 году, это ядро ​​LTS (долгосрочной поддержки) в течение 5 или 6 лет (точно не помню), и в настоящее время оно находится на обновлении № 127. Таким образом, число обновлений в итоге вырастет до 300 или около того .

Независимо от того, как вы смотрите на это, вам нужно просто прикусить пулю и установить недостающие заголовки, используя:

sudo apt install linux-headers-generic linux-headers-4.13.0-43-generic

11 июня 2018, обновление.

4.4.0.127.133 больше не является последней версией заголовка. Я побежал sudo apt upgrade, а затем побежал sudo apt autoremove. Я получил несколько сообщений об ошибках, когда шизофреническое программное обеспечение удалено 127, и сказал мне добавить 127 заголовки, чтобы решить проблему:

Removing linux-image-extra-4.4.0-127-generic (4.4.0-127.153) ...
run-parts: executing /etc/kernel/postinst.d/apt-auto-removal 4.4.0-127-generic /boot/vmlinuz-4.4.0-127-generic
run-parts: executing /etc/kernel/postinst.d/dkms 4.4.0-127-generic /boot/vmlinuz-4.4.0-127-generic
dkms: WARNING: Linux headers are missing, which may explain the above failures.
      please install the linux-headers-4.4.0-127-generic package to fix this.
run-parts: executing /etc/kernel/postinst.d/initramfs-tools 4.4.0-127-generic /boot/vmlinuz-4.4.0-127-generic
update-initramfs: Generating /boot/initrd.img-4.4.0-127-generic
Adding /lib/firmware/i915/skl_guc_ver9_33.bin
run-parts: executing /etc/kernel/postinst.d/pm-utils 4.4.0-127-generic /boot/vmlinuz-4.4.0-127-generic
run-parts: executing /etc/kernel/postinst.d/unattended-upgrades 4.4.0-127-generic /boot/vmlinuz-4.4.0-127-generic
run-parts: executing /etc/kernel/postinst.d/update-notifier 4.4.0-127-generic /boot/vmlinuz-4.4.0-127-generic
run-parts: executing /etc/kernel/postinst.d/zz-update-grub 4.4.0-127-generic /boot/vmlinuz-4.4.0-127-generic

Реальных проблем нет, хотя и по состоянию на 11 июня 2018 г. linux-headers-generic версия: 4.4.0.128.134.

0
ответ дан 2 December 2019 в 02:13

Мой коллега использовал 18,10 и 4.18.0.17 ядра. sudo apt-get install в соответствующих заголовках Linux от чиновника говорится что пакет, не найденный.

Я наконец нашел и загрузил определенные файлы с packages.ubuntu.com:

http://mirrors.kernel.org/ubuntu/pool/main/l/linux-hwe/linux-headers-4.18.0-17_4.18.0-17.18~18.04.1_all.deb
http://mirrors.kernel.org/ubuntu/pool/main/l/linux-hwe/linux-headers-4.18.0-17-generic_4.18.0-17.18~18.04.1_amd64.deb

После того как Вам установили заголовочные файлы. apt-get purge затем apt-get install virtualbox пакет должен работать.

0
ответ дан 2 December 2019 в 02:13

Другие вопросы по тегам:

Похожие вопросы: