Home / LinuxUser / 2007 / 12 / Geräteschuppen

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(243 Punkte bei 15 Stimmen)
Re: War doch klar...
(179 Punkte bei 5 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Geräteschuppen

Udev & Co.

01.12.2007 Udev heißt das Zauberwort, wenn's um Hardware geht: Das Programm räumt den Linux-Geräteschuppen so richtig auf.

Gerade im Bereich der Erkennung und Verwaltung von Hardware hat sich unter Linux in den letzten Jahren einiges getan. Längst vergangen sind die Zeiten statisch angelegter Gerätedateien im Verzeichnis /dev, und auch Devfs hat mittlerweile ausgedient. Udev [1] übernimmt seit Kernel 2.6 sowohl die Aufgaben des Device-Filesystems als auch die von Hotplug. Dazu gehören unter anderem das Anlegen der entsprechenden Gerätedatei, das Setzen der Zugriffsrechte und optional der Start bestimmter Programme.

Im Gegensatz zu seinem Vorgänger arbeitet Udev im Userspace, das heißt als "normales" Programm. Das bringt verschiedene Vorteile mit – unter anderem die Tatsache, dass die Verwaltung und Namensgebung der angeschlossenen Geräte nicht beim Kernel liegt und sich daher leichter konfigurieren lässt. Für den Anwender bietet Udev weitere Vorteile: So kann er die Gerätenamen frei wählen, und die Zuordnung der Hardware fällt eindeutig aus. Damit das alles reibungslos klappt, benötigt Udev Regeln – anhand dieser entscheidet das Programm dann, wie ein Gerät heißen und was weiterhin passieren soll.

Geräteschuppen

Udevs "Ablage" ist das Verzeichnis /dev. Hier liegen die Gerätedateien, über welche die Anwendungen auf die Hardware zugreifen. Werfen Sie einen Blick in diesen Ordner, sehen Sie nicht nur die Dateinamen für die Festplatte(n) und Partitionen (zum Beispiel sda, entsprechend sda1, sda2), sondern auch für CD-/DVD-Laufwerke (in der Regel zeigt der Symlink cdrom auf das "echte" Device, zum Beispiel hdc), serielle Schnittstellen (beispielsweise ttyS0, ttyS1) und so weiter (Abbildung 1).

Abbildung 1: Der Linux-Geräteschuppen befindet sich im Ordner /dev.

Das Betriebssystem speichert den Inhalt des Ordners /devin einem temporären Dateisystem. wovon Sie sich durch das Ausgeben der aktuell eingehängten Verzeichnisse leicht selbst überzeugen::

$ mount
…
udev on /dev type tmpfs (rw,mode=0755)
…

Linux richtet die in /dev enthaltenen Dateien einerseits beim Systemstart ein, andererseits immer dann, wenn ein Gerät neu hinzukommt. Entsprechend verschwinden die Device-Namen, sobald Sie ein Gerät entfernen. Dafür, dass das das Verzeichnis einerseits übersichtlich und dynamisch bleibt, den Anwender aber andererseits nicht mit wechselnden Device-Namen verwirrt, dafür sorgen die Udev-Regeln.

Alles genau geregelt

Das Verhalten von Udev steuern zahlreiche Regeldateien, die Sie im Verzeichnis /etc/udev/ beziehungsweise in /etc/udev/rules.d/ finden. Bei einigen Distributionen, zum Beispiel unter Debian, sind die dort liegenden Dateien symbolische Links auf die Regeln in /etc/udev/.

Listing 1 zeigt, dass die Regeln durchnummeriert sind beziehungsweise mit einem Buchstaben beginnen. Der Grund: Udev arbeitet bei jedem Ereignis das Verzeichnis in lexikalischer Reihenfolge ab. Dieses Vorgehen stellt sicher, dass wichtige Regeln zuerst an die Reihe kommen. An der letzten Stelle steht normalerweise immer die Anweisung für den HAL-Daemon (Udev informiert diesen über das neue Gerät).

Listing 1
$ ls -la /etc/udev/rules.d/
…
lrwxrwxrwx 1 root root   20 2007-05-09 23:40 020_permissions.rules -> ../permissions.rules
lrwxrwxrwx 1 root root   19 2007-05-10 00:39 025_libgphoto2.rules -> ../libgphoto2.rules
lrwxrwxrwx 1 root root   16 2007-05-10 00:39 025_libsane.rules -> ../libsane.rules
…
lrwxrwxrwx 1 root root   12 2007-05-10 00:36 z99_hal.rules -> ../hal.rules
@KE;

In einer solchen Regeldatei finden eine oder mehrere Anweisungen Platz; diese stehen jeweils in einer durchgehenden Zeile (ohne Umbruch). Sie enthalten verschiedene Bedingungen und Steuerbefehle, jeweils durch Kommas voneinander getrennt. Die von der Shell bekannten Platzhalter wie *, ?, [...] und so weiter sind erlaubt. Darüber hinaus finden Sie in den Regeln verschiedene Operatoren (Tabelle "Operatoren"). Die Tabelle "Udev: Konstanten und Variablen" zeigt eine Übersicht häufig verwendeter Konstanten und Variablen. Die Operatoren, alle verfügbaren Konstanten und Variablen listet darüber hinaus die Manpage (man udev) auf.

Operatoren

Operator

Typ

Bedeutung

== Vergleich wahr, wenn beide Ausdrücke gleich sind
!= Vergleich wahr, wenn die beiden Ausdrücke ungleich sind
= Zuweisung weist den Wert der rechten Seite der linken zu
:= Zuweisung wie =, schützt die linke Seite aber vor späteren Veränderungen
+= Zuweisung fügt der linken Seite den Wert der rechten an

Udev: Konstanten und Variablen

Name

Bedeutung

ACTION Ereignis, entweder add oder remove
SUBSYSTEM Gerätetyp, zum Beispiel usb_device, block, und so weiter
BUS Bussystem des Geräts, zum Beispiel ieee1394 oder usb
ID Geräte-ID (bezogen auf den Bus)
NAME Name des Netzwerkgeräts (eth0, eth1 etc.) oder der Gerätedatei in /dev
KERNEL Gerätename laut Kernel
SYSFS{Datei } Verwendet Informationen bestimmter Dateien aus /sys (enthalten Angaben zur Hardware); pro Regel maximal fünf SYSFS-Konstanten
OWNER Besitzer (Benutzername oder UID)
GROUP Gruppe (Name oder GID)
MODE Zugriffsrechte (Oktalzahlen)
RUN führt das angegebene Programm aus.
SYMLINK legt einen symbolischen Link an, der auf den tatsächlichen Devicenamen verweist.
GOTO springt zu einer angegebenen Sprungmarke.
LABEL Name der Sprungmarke
Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare
udev und die MAC-Adressen
netwalker (unangemeldet), Sonntag, 15. Februar 2009 22:08:26
Ein/Ausklappen

Netter, hilfreicher Beitrag.

Leider werd ich aus Listing 3 nicht schlau:
Da sind die Buchstaben der MAC-Adressen in Grossbuchstaben
angegeben. Andere seiten weisen ausdrücklich auf Kleinbuchstaben hin. Was gilt denn nun? ist das evtl. Versions-abhängig?

Gruss
Netwalker


Bewertung: 199 Punkte bei 18 Stimmen.
Den Beitrag bewerten: Gut / Schlecht
-
Re: udev und die MAC-Adressen
Dude (unangemeldet), Donnerstag, 16. Juli 2009 12:03:01
Ein/Ausklappen

Ist egal. Wird so oder so in Großbuchstaben konvertiert.


Bewertung: 96 Punkte bei 10 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

7594 Hits
Wertung: 162 Punkte (25 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...
Skype für 64-Bit-Prozessor u. Suse 12.1
Klaus Sigerist, 05.02.2012 11:39, 3 Antworten
Hallo Gemeinde! Ich bin nur ein einfacher Nutzer und habe Probleme mit der Installation von Skyp...
8! Anfängerfrage :) Wie finde ich in Ubuntu die Datenträger (Bild, Text)
samuel leusam, 04.02.2012 15:53, 2 Antworten
Ich habe neu Ubuntu. Wenn ich die SD Karte im Laptop einstecke, erkennt er sie und gibt ihr den N...