Zum Inhalt springen

Linux-Praxisbuch/ udev

Aus Wikibooks

Zurück zum Linux-Praxisbuch

Allgemein

[Bearbeiten]

udev ist ein Programm, mit welchem der Linux-Kernel Gerätedateien für die Datenein- und -ausgabe (Input/Output) verwaltet.

udev ersetzt seit dem Kernel 2.6 das früher genutzte devfs-Dateisystem, dessen Aufgaben es damit übernimmt (siehe dazu auch dort). Genauso wie devfs verwaltet udev das /dev-Verzeichnis, welches die speziellen Dateien enthält, um von Programmen aus auf die vom System zur Verfügung gestellten Geräte zuzugreifen.

Arbeitsweise

[Bearbeiten]

udev überwacht und wertet hotplug Ereignisse aus. Finden sich dort Informationen über ein neu angeschlossenes Gerät, werden zusätzliche zu diesem Gerät vorhandene Informationen dem sysfs-Dateisystem entnommen und eine neue Gerätedatei im /dev-Verzeichnis erzeugt. Dabei ist der für die spezielle Datei verwendete Name und die Zugriffsberechtigung frei durch Regeln konfigurierbar.

Konfiguration

[Bearbeiten]

Installiert man udev, so findet man die Standardregeln unter /etc/udev/rules.d/50-udev.rules. Um die eigenen Regeln anwenden zu können, sollte man diese Datei nicht verändern, sondern eine neuere mit kleinerer Nummer erzeugen, z. B. /etc/udev/rules.d/10-udev.rules. Somit ist gewährleistet, dass diese Regeln zuerst erkannt werden da die .rules Dateien in alphabetischer Reihenfolge abgearbeitet werden. Es können mehrere Regeln auf ein Gerät zutreffen, udev kann so ein Gerät mit verschiedenen Namen ansprechen.

Vorteile

[Bearbeiten]

Im Unterschied zu devfs, welches im Kernel selbst integriert ist, arbeitet udev im userspace, wird also als normales Programm gestartet. Die Verwaltung und Namensgebung der angeschlossenen Geräte liegt somit nicht mehr beim Kernel und ist somit einfacher konfigurierbar.

Weitere Vorteile sind:

  • die Zuordnung von Geräten ist eindeutig – es entstehen keine Probleme mehr, wenn man z. B. die Reihenfolge von zwei angeschlossenen USB-Druckern ändert
  • die Benennung der Geräte kann durch den Nutzer gewählt werden; sie bleibt beständig
  • die Benennung ist Linux Standard Base-konform

Nachteile

[Bearbeiten]

Ein beabsichtigter Nachteil von udev besteht darin, dass es im Gegensatz zu devfs beim Aufruf eines /dev-Knotens nicht automatisch die entsprechenden Treiber lädt. Arbeitet beim Einstecken eines Geräts HotPlug nicht richtig und lädt die benötigten Treiber nicht, können diese nicht mit udev nachgeladen werden.

[Bearbeiten]