GNU/Linux >> Tutoriels Linux >  >> Linux

Comment enregistrer le type de système de fichiers FUSE avec mount(8) et fstab ?

En général, on "enregistre" un nouveau type de système de fichiers de montage en créant un exécutable mount.fstype .

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

Si vdbfs.py prend mount -ish arguments (c'est-à-dire dev path [-o opts] ), puis mount -t vdbfs et en utilisant vdbfs comme 3ème champ dans fstab marchera. Si ce n'est pas le cas, vous pouvez créer un wrapper qui prend des arguments de cette forme et les mappe à votre vdbfs.py prend.

FUSE devrait également installer un mount.fuse exécutable ; mount.fuse 'vdbfs.py#dev' path -o opts va continuer et appeler le vdbfs.py dev path -o opts . Dans ce cas, vous pouvez utiliser fuse comme type de système de fichiers et préfixez votre appareil avec vdbfs.py# .


Donc, pour clarifier la réponse d'ephemient, il y a deux options :

  1. Modifier /etc/fstab comme ceci :

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

    Ou,

  2. Créez un exécutable préfixé par "mount". (en s'assurant qu'il peut être utilisé avec mount -options similaires) :

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

    Et modifiez /etc/fstab comme ceci :

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

En ce qui concerne le montage automatique au démarrage et le montage manuel avec mount , le user et noauto les options sont pertinentes et entièrement prises en charge par fuse lui-même, vous n'avez donc pas à les implémenter vous-même. Le user permet à un utilisateur non privilégié membre du groupe "fuse" de monter votre système de fichiers avec le mount commande, et noauto ordonne à votre système de fichiers de ne pas se monter automatiquement au démarrage. Si vous ne spécifiez pas noauto , il montera automatiquement.


Pour clarifier le commentaire de @patryk.beza sur la réponse acceptée, la bonne manière monter un système de fichiers FUSE consiste à définir le type de système de fichiers sur fuse.<subtype> .

Par exemple, pour monter une implémentation s3fs-fuse, qui ne fournit pas de /sbin/mount.* spécifique wrapper et utilise normalement le s3fs commande utilisateur pour monter des buckets S3, on peut utiliser cette commande en tant que root :

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

ou cette ligne en /etc/fstab :

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

ou cette unité de montage SystemD (par exemple, /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

Comment cela fonctionne :mount reconnaît le concept de "sous-types de système de fichiers" lorsque le type est formaté avec un point (c'est-à-dire <type>.<subtype> ), de sorte qu'un type au format fuse.someimpl est reconnu comme étant sous la responsabilité de l'assistant de montage FUSE /sbin/mount.fuse . L'assistant de montage FUSE résout ensuite le problème someimpl partie à l'implémentation de FUSE, de la même manière que le # le format est utilisé dans la réponse d'origine (je pense qu'il s'agit simplement d'une recherche de chemin pour un programme nommé <subtype> , mais je n'en suis pas sûr à 100 %).


Linux
  1. Comment effectuer un chroot avec des espaces de noms Linux ?

  2. Comment monter un système de fichiers, mapper les ID utilisateur ?

  3. Comment trouver le type d'un fichier Img et le monter ?

  4. Comment monter et démonter un système de fichiers/partition sous Linux (exemples de commandes Mount/Umount)

  5. Comment activer et monter 2 groupes de volumes avec les mêmes noms dans CentOS/RHEL

Comment monter et démonter des systèmes de fichiers sous Linux

Comment exclure des fichiers et des répertoires avec Rsync

Comment gérer les fichiers ISO sous Linux avec Mount, AcetoneISO et Furious

Linux - Comment monter un système de fichiers distant en spécifiant un numéro de port ?

Comment créer un fichier et le monter en tant que système de fichiers ?

Comment taper des caractères grecs avec une respiration et un accent ?