Was ist dkms?
Zur Navigation springen
Zur Suche springen
Grundsätzliches
- DKMS steht für Dynamic Kernel Module Support.
- Das von Dell entwickelte Hilfsprogramm überwacht, ob zusätzliche Kernelmodule manuell installiert wurden und aktualisiert die Module immer dann, wenn ein neuer Kernel installiert wird.
- Dies ist insofern praktisch, dass das Kompilieren des Kernelmoduls nicht immer von Hand durchgeführt werden muss, wenn der Kernel aktualisiert wurde.
- Hat man also z.B. zusätzliche Treiber in Form von selbstkompilierten Kernelmodulen von Hand installiert, so stehen diese in der Regel direkt nach dem ersten Neustart wieder zur Verfügung.
- DKMS prüft entweder bei der Installation eines neuen Kernels oder spätestens beim Rechnerstart, ob die passenden Module für den aktuellen Kernel vorhanden sind und erstellt diese bei Bedarf automatisch.
- Praktisch wird DKMS meist bei proprietären (unfreien) Treibern für Grafikkarten und RAID-Controller sowie Softwarelösungen zur Virtualisierung eingesetzt.
- Also Bereiche, bei denen ein Kernelupdate unter Umständen zu einem nicht mehr funktionierendem System bzw. Programm führen kann.
Konfiguration
- DKMS wird über eine einzelne Datei konfiguriert.
- Die Standardkonfiguration findet man unter Ubuntu im Verzeichnis /etc/dkms/framework.conf.
- Die Datei ist relativ kurz und gut kommentiert, weitere Informationen findet man auch in der Manpage zu DKMS.
- Ein Anpassung der Datei ist in der Regel nicht notwendig.
Benutzung
- Ist DKMS installiert, nimmt es die Arbeit ohne weiteres Zutun direkt auf.
- Weiterhin wird DKMS bei jedem Systemstart über ein init-Skript automatisch gestartet.
- Installiert man von Hand ein Kernelmodul (z.B. mittels des module-assistant), so fließt es direkt in die Liste der überwachten Module ein.
- Möchte man wissen, welche Module aktuell von DKMS überwacht werden, so kann man dies abfragen oder schaut alternativ in das Verzeichnis /var/lib/dkms.
- Für jedes Kernelmodul existiert hier ein Unterverzeichnis mit dem Namen des Moduls.
- Innerhalb der jeweiligen Unterverzeichnisse findet man den Quellen des Moduls sowie die kompilierten Module für die jeweiligen Kernel.