Teil 1 – Benutzerdefinierte Regel (udev) erstellen z.B. beim Einstecken eines USB-Sticks oder einer Tastatur am Raspberry Pi.
Beim Einstecken eines USB-Sticks oder eines UMTS-Sticks eine entsprechende Aktion ausführen. Dies lässt sich mit wenigen Schritten und einer einfachen (udev)-Regel umsetzen.
Häufig kommt es vor, dass man eine bestimmte Aktion beim Einstecken eines Sticks in den Raspberry Pi, zum Beispiel eines UMTS-Sticks, ausführen möchte. Dies kann zum Beispiel den Start einer Anwendung beinhalten oder das aufbauen einer Internetverbindung. Ebenfalls ist es möglich ein USB-Datenspeicher oder eine Festplatte zu mounten und einem entsprechenden Verzeichnis zuzuordnen.
Was ist udev?
Bei Udev handelt es sich um einen Dienst, welcher im Hintergrund läuft und die Gerätedateien im Verzeichnis /dev
verwaltet. Der Dienst udev übernimmt hierbei die Rechteverwaltung von Geräten und legt entsprechende Systemlinks an. Dies geschieht beim Booten als auch beim Ein- und Ausstecken von Geräten.
Was ist eine benutzerdefinierte Regel?
Dabei handelt es sich um eine bestimmte Aktion, welche ausgeführt wird, wenn ein Gerät vom System erkannt wird. Diese Aktion an unterschiedlich sein. Zum Beispiel das Starten eines Programms oder der Aufbau einer Internetverbindung. Ebenso sind umgekehrte Aktionen Möglich wie die Deaktivierung eines Dienstes oder des Wlan.
Ebenfalls ist es möglich eine Regel zu erstellen, welche beim entfernen des Gerätes ausgeführt wird.
Wie wird das eingesteckte Gerät identifiziert?
Die Geräte können unterschiedlich erkannt werden. Eine Identifizierung ist unter anderem über die Seriennummer des Gerätes, einer Kombination aus Herstellernummer und Produktkennung oder einer Kombination aus Modellbezeichnung und der Herstellernummer möglich.
Wichtig sollte hierbei nur sein, dass dieses bestimmte Gerät als solches eindeutig identifiziert werden kann oder einer bestimmten Gruppe zugehört.
Wo befinden sich die Regeln?
Die Standard-Regel, auch Rules genannt sind in dem Verzeichnis /lib/udev/rules.d/
untergebracht. Weitere Systemregeln für zum Beispiel Netzwerkkarten befinden können sich hierbei auch im Verzeichnis /etc/udev/rules.d/
befinden.
Erstellen einer udev-Regel am Raspberry Pi.
Dieses Beispiel zeigt die Erstellung einer einfachen udev-Regel bei einem Raspberry Pi. Erstellt wird eine Regel, welche nach dem Anstecken eines UMTS-Sticks eine Internetverbindung über das bereits installiere Programm wvdial
aufbaut.
Die Internetverbindung wird nach dem entfernen des LTE-Sticks beendet und das Programm mittels der Funktion killall
entfernt bzw. beendet.
Die eigenen Regeln werden im Verzeichnis /etc/udev/rules.d/
hinterlegt und jeweils mit Root-Rechten in einem Editor der Wahl, zum Beispiel sudo nano
erstellt.
Die Regeln werden nach Reihenfolge abgearbeitet und sind mit nummern vorangestellt. Um sicherzustellen, dass hier keine vorhandenen Systemstandards überschrieben werden sollte man den Dateinamen mit einer hohen Zahl oder ohne Zahl beginnen. Regeln haben immer die Dateiendung .rules
. Ansonsten werden diese nicht ausgeführt.
Weiterlesen: Teil 2 Benutzerdefinierte Regeln (udev). Gerät identifizieren und Regel erstellen.