Чи потрібно мені «DKMS»?


14

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

З того, що я побачив, це схоже на корисну упаковку, але мені це потрібно? Такі речі, як VirtualBox і CDemu встановлюють його самостійно, а Ubuntu не постачається з ним встановленим за замовчуванням, тому я думаю, що це "потрібно" лише деяким програмам, які встановлюють модулі чи щось.

Я не довгий користувач GNU / Linux, тому у мене немає багато досвіду, я навіть не маю досвіду компіляції.

Зараз у мене очікує оновлення ядра Linux, але я не знаю, чи слід його оновлювати без встановлення DKMS.


Ви використовуєте будь-які фірмові драйвери, такі як, але не обмежуючись ними, графіку nvidia або щось подібне, встановлене після встановлення ubuntu?
mchid

Ні, просто безкоштовні водії.
Юстаузер

В якості додаткової примітки: на сучасному комп’ютері не потрібно видаляти програми за замовчуванням (наприклад, DKMS). На відміну від (скажімо) Windows, невикористані програми не сповільнюють ваш комп'ютер, а в сучасній системі місце, яке вони займають, є незначним.
Падді Ландау

Відповіді:


15

Якщо у вас не встановлені модулі dkms, пакет dkms вам не потрібен. Він не встановлений за замовчуванням в Ubuntu.

При встановленні деяких власних драйверів, таких як Nvidia, AMD або Broadcom, пакет dkms також автоматично встановлюється.

Щоб перевірити, чи є у вас модулі dkms, можна запустити

dkms status

Якщо dkms не встановлений, ця команда не буде працювати, але ви можете заглянути в /var/lib/dkms/каталог.

Джерела пакетів dkms зберігаються в /usr/src/


Як перевірити, чи є у мене модулі? Ви маєте рацію, я спробував встановити фірмовий драйвер NVIDIA, і він хотів встановити DMKS, тому я думаю, якщо мені це дійсно потрібно, менеджер пакунків встановить його для мене.
Юстаузер

@Justauser Додано до відповіді
Pilot6

Я намагався встановити DKMS просто для того, щоб спробувати команду, вона прийшла ні з чим. І не було папки dkms в / var / lib / In / usr / src /, є 2 папки, пов’язані з linux-заголовками
Justauser

Так що у вас немає модулів dkms.
Пілот6

7

Я думаю, ви вже трохи заглянули в DKMS, він використовується для оновлення модулів ядра, які знаходяться поза нормальним джерелом ядра. Часто саме драйвери та пакети типу VirtualBox потребують DKMS. Можливо, вам не обов'язково потрібна DKMS, але це зручно для встановлення, особливо якщо ви встановили додаткові пакети, хоча, якщо не встановити, це не зіпсує оновлення ядра.

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


Я вже бачив цю відповідь, але це занадто технічно. Що ви маєте на увазі під "додатковими пакетами"? Ви маєте на увазі встановлений вручну? А що це означає "модулі ядра, які знаходяться поза нормальним джерелом ядра"?
Юстаузер

2
Додаткові пакети означають інше встановлене вами програмне забезпечення. Деякі пакети, наприклад, VirtualBox, потребують взаємодії з ядром, і тому встановлюють модулі в ядро, щоб вони могли запускатись. Коли ядро ​​оновлюється, модуль пакунків може більше не працювати або може бути перезаписаний. DKMS гарантує, що якщо є якісь модулі, завантажені в ядро ​​додатковими пакетами, вони обробляються належним чином, коли ядро ​​оновлюється, і програмне забезпечення продовжує функціонувати.
Арронічний

5

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

Довга відповідь: Ця система допомагає вам компілювати драйвери (aka модулі ядра), щоб вони могли працювати з вашим поточним ядром. Якщо ви не перекомпілюєте модуль, вийде, що модуль може бути завантажений, і функція, надана ним, більше не буде доступною. У вашому випадку: Якщо ви не перекомпілюєте модулі віртуальної скриньки, Virtualbox не буде доступний після оновлення. Він запуститься, але не зможе запустити жодну VM.


5

Ubuntu завантажиться добре без DKMS.

Якщо все, що ви використовуєте, залежало від DKMS, але його не було Depends:в упаковці, ви помітите, і ви можете перевстановити DKMS і подати помилку.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.