Geräteschuppen
Udev & Co.
Selbst ist der Admin
Mit wenigen Handgriffen erstellen Sie eigene Udev-Regeln und erweitern so die Funktionalität der Hardware-Erkennung. Falls Sie externe USB-Massenspeicher verwenden, erhalten diese – abhängig von der Reihenfolge, in der Sie sie anstecken – immer unterschiedliche Namen. Angenommen, Sie besitzen eine externe Festplatte, auf der Sie regelmäßig Sicherungskopien ablegen. Natürlich können Sie die Platte einstecken, warten, bis sie korrekt gemountet wurde, den Einhängepunkt herausfinden und ein entsprechendes Backup-Skript starten. Dank Udev sparen Sie einige Arbeitsschritte. Dazu erstellen Sie eine Regel, die der Festplatte automatisch immer denselben Device-Namen zuweist. Optional enthält die Regel einen Mount-Befehl und/oder ruft ein Shell-Skript fürs Backup auf.
Finden Sie zunächst einige Informationen über das jeweilige Gerät heraus, beispielsweise mit Hilfe des Programms lsusb (Listing 2). Notieren Sie sich eine der Angaben hinter idVendor, idProduct oder iSerial – über diese identifizieren Sie das Gerät eindeutig.
$ lsusb -v … Bus 003 Device 010: ID 152d:2338 Device Descriptor: … idVendor 0x152d idProduct 0x2338 bcdDevice 1.00 iManufacturer 1 iProduct 2 iSerial 5 bNumConfigurations 1 …
Eigene Regel erstellen
Nun geht es daran, eine neue Regeldatei zu schreiben. Diese findet ebenfalls Platz im Verzeichnis /etc/udev/rules.d. Sie erstellen die Datei als Systemverwalter root mit einem Texteditor Ihrer Wahl. Reihen Sie sie mit einer entsprechenden Nummer in die Reihenfolge der Anweisungen ein und geben ihr die Endung .rules. Auf einem Debian-"Etch"-Testsystem erhielt die Regel den Namen z98_usb-platte.rules und den folgenden Inhalt:
SUBSYSTEM=="block", SYSFS{idProduct}=="2338", SYSFS{idVendor}=="152d", NAME="backup"
Außer der Angabe, dass es sich um ein Blockdevice handelt, definiert die Regel die über lsusb herausgefundenen Informationen zu idProduct und idVendor und bestimmt den Namen, den die Gerätedatei haben soll. Über den Befehl
udevcontrol reload_rules
liest der Systemverwalter die neue Regel ein. Alternativ können Sie auch das USB-Gerät aus- und wieder einstecken. Was hinter den Kulissen passiert, verrät der Befehl udevmonitor. Zusammen mit der Option --env gibt sich das Tool redselig und zeigt für die auf dem Testrechner angelegte Regel allerhand interessante Informationen an:
# udevmonitor --env … ACTION=add DEVPATH=/block/sda/sda1 SUBSYSTEM=block … DEVNAME=/dev/backup …
Ein prüfender Blick ins Verzeichnis /dev bestätigt: Udev hat tatsächlich die gewünschte Gerätedatei /dev/backup erstellt. Entfernen Sie die USB-Platte, verschwindet der Eintrag wieder.



