[[Vorlage(Ausbaufähig, "Dieser Artikel kann um eine Beschreibung der Kommandozeilen-Optionen erweitert werden.")]] [[Vorlage(Getestet, jammy)]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] Der module-assistant ist ein kleines, textbasiertes [:Perl: Perlprogramm] für das Terminal, mit dem sich im normalen [:Kernel:] eventuell nicht vorhandene [:Kernelmodule:] komfortabel erstellen und nachinstallieren lassen. {{{#!vorlage Warnung Der module-assistant eignet sich __nur__ zur Erstellung und Installation von Kernelmodulen, für die der Quellcode in den Ubuntu-Quellen vorhanden ist (siehe unten). Der module-assistant ist __kein__ Universalwerkzeug zur Erstellung von Kernelmodulen aus beliebigen Quellen! }}} = Installation = Folgendes Paket muss installiert [1] werden: {{{#!vorlage Paketinstallation module-assistant, universe }}} = Benutzung = Der Aufruf des module-assistant erfolgt im Terminal [2], wobei das Programm zwingend [:sudo: Root-Rechte] für die volle Funktionalität benötigt: {{{#!vorlage Befehl sudo module-assistant }}} Weiterhin kennt der module-assistant eine Reihe von [#optionen Optionen]. Die Bedienung des Programms erfolgt mit den Cursor-Tasten [[Vorlage(Tasten, hoch+runter)]] zur Navigation, der Leertaste [[Vorlage(Tasten, leer)]] zur Auswahl von Menüeinträgen, der Tab-Taste [[Vorlage(Tasten, tab)]] zum Wechsel zwischen Menü und ''Ok/Abbrechen'' sowie der Return-Taste [[Vorlage(Tasten, enter)]] zu Bestätigung. Nach dem Programmstart sieht man ein kleines Menü, aus dem die folgenden Punkte ausgewählt werden können: {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel" :>Startmenü module-assistant +++ Menüpunkt <:>Beschreibung +++ ''"Overview"'' Listet alle Kommandozeilen-Optionen auf. +++ ''"Update"'' Liest die Paketquellen neu ein, entspricht '''apt-get update'''. +++ ''"Prepare"'' Prüft, ob alle Pakete auf dem System installiert sind, die zur Modulerstellung notwendig sind (z.B. '''build-essentials''') und installiert diese gegebenenfalls. +++ ''"Select"'' Wechsel zur Liste, in der die zu installierenden Module ausgewählt werden können. +++ ''"Exit"'' Beendet das Programm. }}} Wählt man ''"Select"'', so kann man mit [[Vorlage(Tasten, leer)]] ein oder mehrere Module auswählen. Die meisten Module sind mit einer kurzen englischen Beschreibung versehen. {{{#!vorlage Tabelle <-2 tableclass="zebra_start3" rowclass="titel" :>Installations-Menü +++ Menüpunkt <:>Beschreibung +++ ''"List"'' Listet eventuell vorhandene Binär-Pakete auf. +++ ''"Search"'' Binär-Pakete mittels '''apt-cache''' suchen. +++ ''"Get"'' Holt den für das auswählte Modul / die ausgewählten Module Quellcode (als Paket) aus den Paketquellen. +++ ''"Build"'' Baut (kompiliert) das Modul aus dem Quellcode für den aktuell installierten Kernel. +++ ''"Install"'' Installiert das gebaute (kompilierte) Modul. +++ ''"Back"'' Zurück zur Modulauswahlliste. }}} Wie man sieht, ist die Tabelle nach der Reihe des auszuwählenden Punkte bei der Modul-Installation sortiert. Sollte der Build-Vorgang nicht ohne Problem durchlaufen, so erhält man die Möglichkeit, die Log-Datei des Kompiliervorgangs anzuschauen. {{{#!vorlage Hinweis Manche Kompiliervorgänge werden - warum auch immer - mit einer Fehlermeldung beendet, dass Modul kann aber trotzdem ohne Probleme installiert und genutzt werden. Dies erkennt man in der Regel daran, dass der module-assistant anbietet, das Paket zu installieren. Liefert ''"Install"'' ebenfalls eine Fehlermeldung, so ist das Modul nicht vollständig kompiliert. }}} Um zu prüfen, ob das Modul korrekt erstellt und installiert ist kann man im Terminal folgendes aufrufen: {{{#!vorlage Befehl modinfo Modulname }}} Weitere Information zum Laden von (fertig installierten) Modulen erhält der Artikel [:Kernelmodule:]. {{{#!vorlage Warnung Wie oben bereits erwähnt sind die erstellten Module __nur__ für den Kernel nutzbar, unter dem sie erstellt wurden. Wird ein neuer Kernel installiert (z.B. im Rahmen eines regulären Updates), so müssen alle mit dem module-assistant erstellten Module neu erstellt und installiert werden. Abhilfe schafft hier __nur__ die nachträgliche Installation von [:DKMS:]. Dadurch werden die Module beim Kernelupdate in den neuen Kernel eingepflegt. }}} = Weitere Optionen = Der module-assistant kennt ein größere Anzahl von Kommandozeilen-Optionen. Prinzipiell lassen sich alle oben genannten Kommandos auch im Terminal direkt starten. Hierzu wird der entsprechende Befehl hinter module-assistant gesetzt. Um ein Modul zu installieren gibt man z.B. {{{#!vorlage Befehl module-assistant install MODULNAME }}} ein. Eine vollständige Übersicht über alle Optionen und Funktionen enthalten auch die [:man:Manpages] des module-assistant. = Abkürzungen = In der Kommandozeile lassen sich zahlreiche Aufgaben verkürzen. Neue Module können Beispielsweise über drei kurze Kommandos installiert werden {{{#!vorlage Befehl module-assistant prepare # Ist nur jeweils einmal bei neuem Kernel nötig module-assistant update module-assistant auto-install MODULNAME }}} Die Funktion `auto-install` führt selbstständig die Schritte `get`, `build` und `install` durch und versucht zudem die Abhängigkeiten aufzulösen. Es werden auch die bekannten Optionen wie `-f` oder `--force` akzeptiert, diese Option führt dazu das ein Modul auf jeden Fall gebaut und installiert wird. Interessant für Schreibfaule ist die Möglichkeit den Aufruf an sich abzukürzen. {{{#!vorlage Befehl m-a a-i MODULNAME }}} ruft `auto-install` auf. Die vorhergehenden Kommandos `update` und/oder `prepare` sind dennoch vorher aufzurufen. # tag: System