GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo registrar el tipo de sistema de archivos FUSE con mount (8) y fstab?

En general, uno "registra" un nuevo tipo de sistema de archivos de montaje creando un ejecutable mount.fstype .

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

Si vdbfs.py toma mount -ish argumentos (es decir, dev path [-o opts] ), luego mount -t vdbfs y usando vdbfs como el tercer campo en fstab trabajará. Si no es así, puede crear un contenedor que tome argumentos de esa forma y los asigne a cualquiera que sea su vdbfs.py toma.

FUSE también debería instalar un mount.fuse ejecutable; mount.fuse 'vdbfs.py#dev' path -o opts continuará y llamará al vdbfs.py dev path -o opts . En ese caso, puedes usar fuse como su tipo de sistema de archivos y el prefijo de su dispositivo con vdbfs.py# .


Entonces, para aclarar la respuesta de ephemient, hay dos opciones:

  1. Editar /etc/fstab así:

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

    O,

  2. Cree un ejecutable con el prefijo "mount". (asegurándose de que se pueda usar con mount -como opciones):

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

    Y edita /etc/fstab así:

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

Con respecto al montaje automático al inicio y al montaje manual con mount , el user y noauto las opciones son relevantes y totalmente compatibles con fuse, por lo que no tiene que implementarlas usted mismo. El user La opción permite que un usuario sin privilegios que sea miembro del grupo "fuse" monte su sistema de archivos con el mount comando y noauto indica a su sistema de archivos que no se monte automáticamente al inicio. Si no especifica noauto , se montará automáticamente.


Para aclarar el comentario de @patryk.beza sobre la respuesta aceptada, la forma correcta para montar un sistema de archivos FUSE es establecer el tipo de sistema de archivos en fuse.<subtype> .

Por ejemplo, para montar una implementación de s3fs-fuse, que no proporciona un /sbin/mount.* específico contenedor y usa normalmente el s3fs comando de usuario para montar cubos S3, uno puede usar este comando como root:

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

o esta línea en /etc/fstab :

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

o esta unidad de montaje SystemD (por ejemplo, /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

Cómo funciona esto:mount reconoce el concepto de "subtipos de sistemas de archivos" cuando el tipo se formatea con un punto (es decir, <type>.<subtype> ), de modo que un tipo con el formato fuse.someimpl se reconoce como responsabilidad del asistente de montaje FUSE /sbin/mount.fuse . El asistente de montaje FUSE luego resuelve el someimpl parte de la implementación de FUSE, de la misma manera que el # El formato se usa en la respuesta original (creo que esto es solo una búsqueda de ruta para un programa llamado <subtype> , pero no estoy 100% seguro al respecto).


Linux
  1. Cómo configurar LogAnalyzer con Rsyslog y MySQL

  2. SSHFS? ¿Qué es eso y cómo lo uso?

  3. ¿Cómo realizar chroot con espacios de nombres de Linux?

  4. ¿Cómo montar un sistema de archivos, asignando ID de usuario?

  5. ¿Montar un sistema de archivos Cifs directamente o a través de Fstab?

Cómo montar y desmontar sistemas de archivos en Linux

Cómo excluir archivos y directorios con Rsync

Cómo manejar archivos ISO en Linux con Mount, AcetoneISO y Furious

Linux:¿cómo montar un sistema de archivos remoto especificando un número de puerto?

Cómo activar y montar 2 grupos de volúmenes con los mismos nombres en CentOS/RHEL

Cómo crear/eliminar y montar un sistema de archivos Stratis en CentOS/RHEL 8