Nach vielen Recherchen konnte ich mein Problem mit usbmount beheben:
Ntfs zu usbmount hinzufügen
- Installieren Sie usbmount mit
sudo apt-get install usbmount
.
Installieren Sie das NTFS-Treiberpaket ntfs-3g mit sudo apt-get install ntfs-3g
.
Konfigurieren Sie usbmount so, dass bestimmte Dateisysteme eingehängt werden, indem Sie die usbmount-Datei mit öffnen sudo nano /etc/usbmount/usbmount.conf
.
Hier drin ist eine Zeile mit dem Namen FILESYSTEMS=""
. Nur die in dieser Zeile angegebenen Dateisysteme werden über usbmount gemountet. Wir ändern sie in:FILESYSTEMS="vfat ntfs fuseblk ext2 ext3 ext4 hfsplus"
Wenn usbmount NTFS-Dateisysteme mounten soll, müssen Sie der Zeile ntfs und fuseblk hinzufügen
. NTFS-Geräte werden vom ntfs-3g-Paket manchmal als fusblk aufgelistet, sodass diese beiden identisch sind. Ich weiß allerdings nicht genau warum.
Wenn Sie in der Konfiguration kein fuseblk hinzufügen , werden nicht angeschlossene NTFS-Geräte nicht automatisch abgemeldet. Sie bleiben gemountet und behalten den Ordner, in dem sie gemountet sind, bis das Gerät manuell gemountet wird unmount /dev/sda1
-> wobei sda1 eine andere Variable sein könnte .
Die nächste wichtige Zeile ist FS_MOUNTOPTIONS=""
. Hier legen Sie fest, welche Dateisysteme gemountet werden sollen und wie sie gemountet werden sollen.
Wir ändern es zu: FS_MOUNTOPTIONS="-fstype=ntfs-3g,nls=utf8,umask=007,gid=46
-fstype=fuseblk,nls=utf8,umask=007,gid=46 -fstype=vfat,gid=1000,uid=1000,umask=007"
Damit sind die Dateisysteme vfat (fat32) ntfs-3g (NTFS) und
fuseblk (wieder NTFS) gemountet. Ich denke, die meisten Parameter können gleich bleiben. Auch hier fügen Sie einfach ntfs-3g ( add ntfs-3g not ntfs ) und fuseblk hinzu, um alle NTFS-Dateien mounten zu können. Für mehr Dateisysteme fügen Sie mehr Zeilen hinzu, die mit beginnen -fstype=
.
Lassen Sie NTFS aktiviert, bis das Gerät vom Stromnetz getrennt wird
Hier ist eine Lösung für das Problem, wenn das gemountete NTFS-Laufwerk nur für einige Sekunden erreichbar ist. Dieser Fix stammt von Christian Weinberger .
- Erstellen Sie die Datei usbmount.rules in /etc/udev/rules.d/ mit
sudo nano /etc/udev/rules.d/usbmount.rules
.
Dies ist der Inhalt:
KERNEL=="sd*", DRIVERS=="sbp2", ACTION=="add", PROGRAM="/bin/systemd-escape -p [email protected] $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="sd*", SUBSYSTEMS=="usb", ACTION=="add", PROGRAM="/bin/systemd-escape -p [email protected] $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="ub*", SUBSYSTEMS=="usb", ACTION=="add", PROGRAM="/bin/systemd-escape -p [email protected] $env{DEVNAME}", ENV{SYSTEMD_WANTS}+="%c"
KERNEL=="sd*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove"
KERNEL=="ub*", ACTION=="remove", RUN+="/usr/share/usbmount/usbmount remove"
- Erstellen Sie die Datei usbmount @ .service in / etc / systemd / system / with
sudo nano /etc/systemd/system/[email protected]
.
Dies ist der Inhalt:
[Unit]
BindTo=%i.device
After=%i.device
[Service]
Type=oneshot
TimeoutStartSec=0
Environment=DEVNAME=%I
ExecStart=/usr/share/usbmount/usbmount add
RemainAfterExit=yes
Starten Sie nun neu und überprüfen Sie, cat /etc/mtab
in welchem Ordner die USB-Geräte eingehängt sind. Standardmäßig sind sie in / media / usbstick0 eingebunden .
Quelle:
Christen reparieren
Warum fusblk?
Die Antwort von Untermoser ist korrekt, aber es wird einige der usbmount-Funktionen beeinträchtigen.
Da er Systemd-Einheiten verwendet, um Prozesse zum Mounten zu erzeugen (um NTFS zu aktivieren), wird die Umgebungsvariable
$DEVPATH
nicht mehr an denusbmount add
Befehl gesendet , was zu einem Fehler bei der Symlink-Erstellung führt.Führen Sie Folgendes aus, um das zu beheben:
Der obige Befehl wird neu erstellt,
$DEVPATH
wenn er nicht verfügbar ist.Es gibt auch einen anderen Fehler in Bezug auf usbmount
usbmount remove
. Es führt eine Schleife über Mountpunkte durch, und die in usmount config definierte Schleife wird nicht gemountet. Wenn jedoch eine Übereinstimmung gefunden wird, diese jedoch nicht in der Liste enthalten ist, entfernen Sie die Unterbrechungen und führen Sie keine Aktionen aus. Dies ist besonders wichtig, wenn Sie mehrere Mountpunkte für einen USB-Stick erstellen, da usbmount den ersten erkennt und nichts unternimmt.Um dies zu beheben, ist die folgende Änderung erforderlich:
Dadurch wird die Pause in der inneren Schleife verschoben (wo der Erfolg garantiert ist, und 2 Schritte ausgebrochen).
quelle
Wenn Sie versuchen, dasselbe für die Arbeit mit dem neueren Stretch (Lite) zu tun, und feststellen, dass die Antworten von Untermoser und AlbiusX die Bereitstellung von VFAT-Laufwerken nicht aufheben, müssen Sie diese zusätzlichen Schritte zusätzlich zu den angegebenen Antworten ausführen :
Führen Sie den folgenden Befehl im Terminal aus:
sudo mkdir -p /etc/systemd/system/systemd-udevd.service.d/
Dadurch werden die erforderlichen Ordner erstellt. Als nächstes erstellen Sie hier eine conf-Datei, zB:
sudo nano /etc/systemd/system/systemd-udevd.service.d/shared-mount-ns.conf
Fügen Sie in dieser Datei die folgenden Zeilen hinzu:
[Service] MountFlags=shared
Dadurch wird das Standardverhalten von systemd-udevd für private Dateisystem-Namespaces geändert, um freigegebene zu verwenden. Dies entspricht dem Verhalten von udev in jessie.
(Quelle: /unix/330094/udev-rule-to-mount-disk-does-not-work/330156#330156 )
quelle
Linux raspberrypi 4.14.79-v7+
auf dem Pi