Нужна ли мне DKMS?

14

Мой дистрибутив на основе Ubuntu поставлялся с предустановленной версией VirtualBox, поэтому я удалил его, и он автоматически удалил пакет DKMS.

Из того, что я увидел, выглядит как полезная упаковка, но нужна ли она мне? Такие вещи, как VirtualBox и CDemu устанавливают его самостоятельно, и Ubuntu не поставляется с установленным по умолчанию, так что я думаю, что это «нужно» только некоторым программам, которые устанавливают модули или что-то в этом роде.

Я не большой пользователь GNU / Linux, поэтому у меня нет большого опыта, у меня даже нет опыта компиляции.

Сейчас у меня ожидается обновление ядра Linux, но я не знаю, стоит ли обновлять его без установленной DKMS.

Justauser
источник
Вы используете какие-либо проприетарные драйверы, такие как, но не ограничиваясь ими, графику nvidia или что-то особенное, подобное установленному после установки Ubuntu?
Mchid
Нет, просто бесплатные драйверы.
Justauser
В качестве дополнительного примечания: на современном компьютере нет необходимости удалять приложения по умолчанию (например, DKMS). В отличие от (скажем) Windows, неиспользуемые приложения не замедляют работу компьютера, а в современной системе занимаемое ими пространство незначительно.
Пэдди Ландау

Ответы:

15

Если у вас не установлены модули dkms, вам не нужен пакет dkms. Он не установлен по умолчанию в Ubuntu.

При установке некоторых проприетарных драйверов, таких как Nvidia, AMD или Broadcom, пакет dkms также устанавливается автоматически.

Чтобы проверить, есть ли у вас модули dkms, вы можете запустить

dkms status

Если dkms не установлен, эта команда не будет работать, но вы можете заглянуть в /var/lib/dkms/каталог.

Исходники пакетов dkms хранятся в /usr/src/

Pilot6
источник
Как проверить, есть ли у меня некоторые модули? Вы правы, я пытался установить проприетарный драйвер NVIDIA, и он хотел установить DMKS, поэтому, думаю, если он мне действительно понадобится, менеджер пакетов установит его для меня.
Justauser
@Justauser Добавлено к ответу
Pilot6
Я попытался установить DKMS просто, чтобы попробовать команду, она пришла ни с чем. И не было папки dkms в / var / lib / In / usr / src /, есть 2 папки, связанные с заголовками linux
Justauser
Таким образом, у вас нет модулей DKMS.
Pilot6
7

Полагаю, вы уже немного изучили DKMS, он используется для обновления модулей ядра, которые находятся за пределами обычного исходного кода ядра. Часто это драйверы и пакеты, такие как VirtualBox, которые требуют DKMS. Возможно, вам не обязательно «нужен» DKMS, но его удобно установить, особенно если вы установили дополнительные пакеты, хотя их отсутствие не испортит обновление вашего ядра.

Там более подробную информацию о DKMS здесь и полезный ответ на убунту спросить здесь .

Arronical
источник
Я уже видел этот ответ, но он слишком сложный. Что вы подразумеваете под «дополнительными пакетами»? Вы имеете в виду ручную установку? И что это значит "модули ядра, которые находятся за пределами нормального источника ядра"?
Justauser
2
Дополнительные пакеты означают другое программное обеспечение, которое вы установили. Некоторые пакеты, такие как VirtualBox, должны взаимодействовать с ядром и устанавливать модули в ядро, чтобы они могли работать. Когда ядро ​​обновлено, модуль пакетов может больше не работать или может быть перезаписан. DKMS гарантирует, что если какие-либо модули загружаются в ядро ​​с помощью дополнительных пакетов, они обрабатываются соответствующим образом при обновлении ядра, и программное обеспечение продолжает функционировать.
Arronical
5

Краткий ответ: Если вы хотите использовать Vitualbox также после обновления ядра, вам потребуется DKMS, а также заголовки ядра, соответствующие вашему ядру.

Длинный ответ: Эта система помогает вам скомпилировать драйверы (также называемые модулями ядра), чтобы они могли работать с вашим текущим ядром. Если вы не перекомпилируете модуль, может случиться так, что модуль не может быть загружен, и поэтому предоставляемая им функция больше не будет доступна. В вашем случае: если вы не перекомпилируете модули виртуальных блоков, Virtualbox не будет доступен после обновления. Это запустится, но не может запустить любую виртуальную машину.

frlan
источник
5

Ubuntu нормально загрузится без DKMS.

Если что-то, что вы используете, зависело от DKMS, но не содержало его Depends:в упаковке, вы заметите и сможете переустановить DKMS и сообщить об ошибке.

DKMS предназначен для пакетов, которые предоставляют модуль ядра в исходной форме (или двоичный файл с оберткой источника), поэтому им не нужно обновлять модуль для каждой перестройки ядра. Само стандартное ядро ​​всегда работает, независимо от DKMS или нет.

Питер Кордес
источник