GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie registriere ich den Dateisystemtyp FUSE mit mount(8) und fstab?

Im Allgemeinen "registriert" man einen neuen Mount-Dateisystemtyp, indem man eine ausführbare Datei mount.fstype erstellt .

$ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfs

Wenn vdbfs.py dauert mount -ish Argumente (d.h. dev path [-o opts] ), dann mount -t vdbfs und mit vdbfs als 3. Feld in fstab wird funktionieren. Wenn dies nicht der Fall ist, können Sie einen Wrapper erstellen, der Argumente dieser Form akzeptiert und sie Ihrem vdbfs.py zuordnet dauert.

FUSE sollte auch einen mount.fuse installieren ausführbar; mount.fuse 'vdbfs.py#dev' path -o opts wird weitergehen und vdbfs.py dev path -o opts anrufen . In diesem Fall können Sie fuse verwenden als Dateisystemtyp und stellen Sie Ihrem Gerät vdbfs.py# voran .


Um die Antwort von ephemient zu verdeutlichen, gibt es zwei Möglichkeiten:

  1. Bearbeiten Sie /etc/fstab so:

    # <file system>   <mount point>      <type>  <options>         <dump>  <pass>
    # ...
    vdbfs.py#<dev>    /srv/virtual-db    fuse    user,<other-opts>    0    0
    

    Oder,

  2. Erstellen Sie eine ausführbare Datei mit dem Präfix „mount“. (Stellen Sie sicher, dass es mit mount verwendet werden kann -ähnliche Optionen):

    $ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfs
    

    Und bearbeiten Sie /etc/fstab so:

    # <file system> <mount point> <type>    <options>         <dump>  <pass>
    # ...
    <dev>    /srv/virtual-db    vdbfs.py    user,<other-opts>    0    0
    

In Bezug auf das automatische Mounten beim Start und das manuelle Mounten mit mount , die user und noauto Optionen sind relevant und werden vollständig von der Sicherung selbst unterstützt, sodass Sie sie nicht selbst implementieren müssen. Die user Option lässt einen nicht privilegierten Benutzer, der Mitglied der "fuse"-Gruppe ist, Ihr Dateisystem mit dem mount mounten Befehl und noauto weist Ihr Dateisystem an, beim Start nicht automatisch zu mounten. Wenn Sie noauto nicht angeben , wird es automatisch gemountet.


Zur Klärung kommentiert @patryk.beza die akzeptierte Antwort auf den richtigen Weg Um ein FUSE-Dateisystem zu mounten, setzen Sie den Dateisystemtyp auf fuse.<subtype> .

Zum Beispiel, um eine s3fs-fuse-Implementierung zu mounten, die keinen bestimmten /sbin/mount.* bereitstellt Wrapper und verwendet normalerweise den s3fs Benutzerbefehl zum Mounten von S3-Buckets, kann man diesen Befehl als root verwenden:

mount -t fuse.s3fs bucket-name /path/to/dir -o <some,options>

oder diese Zeile in /etc/fstab :

bucket-name /path/to/dir fuse.s3fs <some,options> 0 0

oder diese SystemD-Einhängeeinheit (zum Beispiel /etc/systemd/system/path-to-dir.mount ):

[Unit]
Description=S3 Storage
After=network.target

[Mount]
What=bucket-name
Where=/path/to/dir
Type=fuse.s3fs
Options=<some,options>

[Install]
WantedBy=multi-user.target

Wie das funktioniert:mount erkennt das Konzept von "Dateisystem-Untertypen", wenn der Typ mit einem Punkt formatiert ist (z. B. <type>.<subtype> ), sodass ein Typ mit dem Format fuse.someimpl ist anerkanntermaßen in der Verantwortung des FUSE Mount Helpers /sbin/mount.fuse . Der FUSE Mount Helper löst dann den someimpl auf Teil der FUSE-Implementierung, genauso wie # format wird in der ursprünglichen Antwort verwendet (ich denke, dies ist nur eine Pfadsuche nach einem Programm namens <subtype> , bin mir da aber nicht 100% sicher).


Linux
  1. SSHFS? Was ist das und wie verwende ich es?

  2. Wie führt man Chroot mit Linux-Namespaces durch?

  3. Wie kann ich ein Dateisystem mounten und Benutzer-IDs zuordnen?

  4. Mounten eines Cifs-Dateisystems direkt oder über Fstab?

  5. Linux – Wie wird ein Remote-Dateisystem mit Angabe einer Portnummer gemountet?

So mounten und unmounten Sie Dateisysteme in Linux

So schließen Sie Dateien und Verzeichnisse mit Rsync aus

Umgang mit ISO-Dateien unter Linux mit Mount, AcetoneISO und Furious

Wie überprüfe ich, ob eine Partition als „noexec“ gemountet ist?

So erstellen und mounten Sie das Btrfs-Dateisystem (mit Beispielen erklärt)

So erstellen/entfernen und mounten Sie ein Stratis-Dateisystem in CentOS/RHEL 8