Automatisches Einhängen von Datenträgern

Zum automatischen Einhängen von Datenträgern gibt es mehrere Lösungen. Ich werde euch 2 Lösungen vorstellen automount und DSBMD.

automount

Die Installation und Einrichtung von automount ist sehr einfach. Wir fügen das automount Paket einfach mit pkg hinzu. Es wird nichts mehr benötigt, da pkg devd nach dem Hinzufügen neuer Konfigurationsdateien neu startet.

pkg install automount

Damit wir weitere Dateisysteme mounten können, installieren wir noch folgende Pakete:

pkg install exfat-utils fusefs-exfat usefs-ntfs fusefs-ext4fuse fusefs-simple-mtpfs fusefs-hfsfuse fusefs-lkl

Eine der schönen Funktionen von automount ist die Protokolldatei /var/log/automount.log, die alle Details zu gemounteten Dateisystemen enthält.

% tail /var/log/automount.log
2018-10-08 12:18:45 /dev/da0s1: mount (fat)
2018-10-08 12:19:23 /dev/da0: detach
2018-10-08 12:19:23 /dev/da0: mount point '/media/da0' removed
2018-10-08 12:19:23 /dev/da0s1: detach
2018-10-08 12:19:23 /dev/da0s1: mount point '/media/da0s1' removed
2018-10-09 11:38:14 /dev/da0: random wait for '0.1' seconds before 'attach' action
2018-10-09 11:38:14 /dev/da0: attach
2018-10-09 11:38:14 /dev/da0: mount (exfat)
2018-10-09 11:44:02 /dev/da0: detach
2018-10-09 11:44:02 /dev/da0: mount point '/media/da0' removed

Automount wird mit der Konfigurationsdatei /usr/local/etc/automount.conf geliefert, die folgende Optionen auf meinem PC enthält.

% cat /usr/local/etc/automount.conf
USERUMOUNT=YES
ATIME=NO
REMOVEDIRS=YES
FM="caja --browser --no-desktop"
USER=daniel
ENCODING=de_DE.UTF-8
CODEPAGE=cp852

Es ist auch eine sehr einfache Lösung und da es in POSIX/bin/sh-Skript geschrieben ist, ist es sehr einfach, es an die eigenen Bedürfnisse anzupassen.

DSBMD & DSBMC

Eine andere Möglichkeit um Laufwerke einzubinden, ist es dsbmd, dsbmc und dsbmc-cli zu verwenden.

pkg install dsbmd dsbmc dsbmc-cli

Damit wir weitere Dateisysteme mounten können, installieren wir noch folgende Pakete:

pkg install exfat-utils fusefs-exfat usefs-ntfs fusefs-ext4fuse fusefs-simple-mtpfs fusefs-hfsfuse fusefs-lkl fusefs-gphotofs

Als Nächstes fügen wir folgende Zeile in unsere /etc/rc.conf ein:

nano /etc/rc.conf => 

dsbmd_enable="YES"

Wir dürfen hald nicht mit starten. Da es ansonsten zu Problemen kommen kann.

nano /etc.rc.conf => 

hald_enable="NO"

Folgendes müssen wir dann noch in den Autostart des entsprechenden Windowsmanagers eingetragen.

/usr/local/bin/dsbmc -i
/usr/local/bin/dsbmc-cli -a

Standardmäßig wird dsbmd Speichergeräte als regulärer Benutzer mounten. Wir müssen jedoch sicherstellen, dass sich vfs.usermount = 1 in unserer /etc/sysctl.conf befindet und angewendet wird.

nano /etc/sysctl.conf => 

vfs.usermount = 1

Nachdem wir ein FAT32- oder exFAT-USB-Gerät einstecken, wird es automatisch eingehängt.

Die Konfigurationsdatei finden wir unter /usr/local/etc/dsbmd.conf. Die Protokolldatei finden wir unter /var/log/dsbmd.log.

% tail /var/log/dsbmd.log
dsbmd: Killing blocking process 85421 ... on Thu Oct 11 16:48:10 2018
dsbmd: Sending SIGTERM to 85421 ... on Thu Oct 11 16:48:10 2018
dsbmd: Command /usr/local/sbin/mount.exfat ${DSBMD_DEVICE} "${DSBMD_MNTPT}" executed by UID 1000 failed with code 15: No error: 0 on Thu Oct 11 16:48:11 2018
dsbmd: Device /dev/da0 mounted on /media/GKPGE by UID 1000 on Thu Oct 11 16:48:12 2018
dsbmd: Device /dev/da0 unmounted from /media/GKPGE by UID 1000 on Thu Oct 11 16:49:09 2018
dsbmd: Device /dev/da0 mounted on /media/GKPGE by UID 1000 on Thu Oct 11 16:49:15 2018
dsbmd: Device /dev/da0 unmounted from /media/GKPGE by UID 1000 on Thu Oct 11 16:49:16 2018
dsbmd: Client with UID 1000 disconnected on Thu Oct 11 16:52:53 2018
dsbmd: Client with UID 1000 connected on Thu Oct 11 16:52:55 2018
dsbmd: Device /dev/da0 mounted on /media/GKPGE by UID 1000 on Thu Oct 11 16:58:22 2018

Das Frontend von dsbmc schaut so aus.

dsbmc Einstellungen