Open Source im professionellen Einsatz
Linux-Magazin 09/2006
© pixelquelle.de

© pixelquelle.de

Wie dynamisches Gerätemanagement mit Udev funktioniert

Geräteverwalter

, ,

Seit Ende Juni ist Dev-FS nun endlich Geschichte: Nachdem es mehr als drei Jahre auf dem Abstellgleis rangierte, verdrängte sein Nachfolger Udev den Geräteverwalter jetzt endgültig aus dem Kernel. Das Linux-Magazin blickt dem Sieger unter die Haube.

394

Vom guten alten Unix hat Linux das Prinzip geerbt: Alles ist eine Datei. Diese Abstraktion erlaubt es den Programmen, auf angeschlossene Hardware über so genannte Devicenodes (Gerätedateien) genauso zuzugreifen wie auf gewöhnliche Files. Die Spezialdateien lassen sich über dieselben Systemaufrufe öffnen, lesen, schreiben oder schließen.

Untereinander unterscheiden sie sich durch ihren Namen, ihren Typ (Block- oder Zeichengerät) und ihre Major- sowie Minor-Nummer. So repräsentiert auf einem Linux-System zum Beispiel der Devicenode »/dev/hda1« die erste Partition der Festplatte »/dev/hda« und trägt dabei die Major-Nummer 3 und die Minor-Nummer 1.

Der Befehl »mknod« legt die Gerätedateien an. Bei traditioneller Verwaltung dieser Files geschieht dies während der Installation. Das Verzeichnis »/dev« enthält danach für alle Zeit einen Eintrag für jedes Gerät, das der Admin möglicherweise später einmal dem System hinzufügen möchte - und das können gut einige tausend sein.

Statisch ist nicht übersichtlich

Allerdings leidet die Übersichtlichkeit unter der Fülle an Einträgen, die zudem für den konkreten Rechner größtenteils unnötig sind, weil er nie mit den passenden Geräten in Kontakt kommt. Darüber hinaus gibt es weitere Nachteile. So spiegelt die Verzeichnis- und Dateistruktur nicht wider, welche Geräte tatsächlich vorhanden sind oder korrekt von Treibern erkannt wurden.

Außerdem bestimmt bei diesem herkömmlichen Ansatz die Reihenfolge, in der ein Benutzer Geräte anschließt, zugleich auch darüber, welches Gerät der Kernel welcher Gerätedatei zuordnet. Die erste erkannte SCSI-Platte bildet sich so beispielsweise immer auf das Devicefile »/dev/sda« ab, die nächste, danach angesteckte auf »/dev/sdb« und so fort. Das kann dazu führen, dass ein und dasselbe Gerät zu verschiedenen Zeiten über mehrere Gerätedateien erreichbar ist und der Rechner es folglich an verschiedene Verzeichnisse mountet.

Besser bei Bedarf

Als viel bessere Lösung erweist sich daher eine Verfahrensweise, bei der das System Gerätedateien erst in dem Moment anlegt oder löscht, in dem der Benutzer Hardware hinzufügt beziehungsweise entfernt. Über die Zuordnung von Namen zu Devices entscheiden hier Regeln anstelle der Reihenfolge. So kann man etwa garantieren, dass eine bestimmte Festplatte immer über dasselbe File zu erreichen ist und sich immer an derselben Stelle ins Filesystem einbindet - ganz egal welche anderen Geräte zu welchem Zeitpunkt den Bus mitbenutzten oder nicht.

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Knoten knüpfen

    Statische Gerätedateien sind angesichts aktueller Hardware nicht mehr zeitgemäß. So erfordert Hotplugging an USB- und anderen Bussen dynamisches Gerätehandling. DevFS erfüllt zwar viele Ansprüche an eine solche Lösung, wird aber nun von Udev abgelöst.

  • Raus. Rein. Passt!

    Geräte im laufenden Betrieb einstöpseln und sofort damit arbeiten - das ist für alle Linux-User ein angenehmer Luxus, für jeden Notebookbesitzer und viele Server dagegen ein Muss. Die komplexe Technik dahinter will aber beherrscht sein. Die Grundlage dafür rollt dieser Schwerpunkt aus.

  • Udev-Discover zeigt Geräteinformationen

    Der Open-Source-Entwickler José Félix Ontañón hat eine GUI-Anwendung namens Udev-Discover geschrieben, mit der sich Hardwareinformationen durchblättern lassen.

  • Flotte Verkehrsmittel

    Endlich ist Schluss mit Corba! Gnome verabschiedet sich von dem Standardisierungsmonster und setzt auf das Prozess-Messaging-System D-Bus. Auch Kollege KDE ist dabei, umzustellen.

  • Lokaler Root-Exploit in Udev

    Mit dem Udev-Subsystem ermöglicht der Linux-Kernel im Zusammenspiel mit einem Userland-Programm dynamisch Gerätedateien anzulegen und wieder zu entfernen. Nun wurde bekannt, dass der Kommunikationskanal zwischen beiden nicht auf Authentizität prüft. So können User Rootrechte erhalten.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.