Debian(Raspbian): USB-Laufwerk festem Verzeichnis zuweisen

Manchmal kann es sinnvoll sein, wenn angesteckte USB-Laufwerke beim automatischen mounten gleich einem speziellen Verzeichnis zugewiesen werden.
Hilfreich ist hierfür der Dienst „udev“. Udev ist ein Dienst, welcher dynamisch die Geräte (/dev/..) unter Linux verwalten kann.
Wie man das mit „udev“ lösen kann, zeige ich in diesem Beitrag.

!!Dieser Tutorial setzt ein installiertes und eingerichtetes “usbmount“ (https://krausens-online.de/debianraspbian…atisch-mounten/) voraus. !!

Der gewünschte Datenträger muss zuerst identifiziert werden. Die Identifizierung erfolgt z.B.: durch seine Seriennummer.
Um die Seriennummer eines USB-Datenträgers auslesen zu können kann man den Befehl „udevadm“ verwenden.
(In diesem Beispiel ist der USB-Datenträger als /dev/sda eingebunden)

Damit dem Datenträger nun eine spezielle Aktion zugewiesen werden kann wird eine udev-Regel erstellt.
Diese Regeln erstellt man unter /etc/udev/rules.d . Die Regeln werden der Reihe nach abgearbeitet.
Wichtig ist, dass die Regel für die Identifizierung vor der Regel des „usbmount“ aufgerufen wird. Ich entschiede mich dafür meine Regel 30-stick-identify.rules zu nennen.

und fülle diese Datei mit folgendem Inhalt

Wenn eine Aktion auf einem sd-Device statt findet und dieses Device die vorgegebene Seriennummer hat, dann wird der Variable „forcesmountplace“ der Verzeichnispfad “/mnt/backup“ übergeben.
Um sicher zu gehen, dass es den Verzeichnispfad auch gibt, wird dieser jetzt angelegt.

Damit usbmount jetzt auch auf diese Variable reagieren kann, ist noch eine Anpassung der Datei „/usr/share/usbmount/usbmount“ notwendig.
Dazu suchen wir die Zeilen für den Aufruf der usbmount.conf und erweitern diese mit der Angabe unserer Variable.
original:

geändert:

Wenn die Variable $forcedmountplace einen Wert zugewiesen bekommen hat, dann wird dieser Wert an die Variable $MOUNTPOINTS übergeben und dies als Mountverzeichnis übernommen.
Ist die Variable $forcedmountplace leer, so wird der Variable $MOUNTPOINTS ein Wert aus der usbmount.conf (/media/usb0 – 7) übergeben.
Wird jetzt der USB-Datenträger angesteckt, wird in dieser in das Verzeichnis “/mnt/backup“ gemountet.
Ein „cat /var/log/messages“ zeigt an

(die Angaben -tvfat, gid=users usw kommen aus der usbmount.conf).

Hinweis 1:
Sollen noch weitere Datenträger speziellen Verzeichnissen zugewiesen werden so können diese einfach in der erstellten Datei “/etc/udev/rules.d/30-stick-identify.rules“ angehängt werden:

Hinweis 2:
Wenn man in der erstellten Datei “/etc/udev/rules.d/30-stick-identify.rules“ noch den Parameter „SYMLINK“ einfügt:

so kann der Stick, sollte er einmal manuell gemountet werden, nicht nur über den Befehl

sondern auch mit dem Befehl

eingebunden werden.