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:
-
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,
-
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).