Comment enregistrer FUSE système de fichiers avec support (8) et fstab?
-
20-09-2019 - |
Question
J'ai écrit un petit système de fichiers basé FUSE et maintenant la partie manquante de n'est que je veux enregistrer avec fstab (5) pour monter automatiquement sur le démarrage du système et / ou monter manuellement avec juste mount /srv/virtual-db
. Comment puis-je y parvenir?
Je sais, je peux exécuter un script à partir /usr/bin/vdbfs.py /srv/virtual-db
init, mais ce n'est pas exactement assez.
Je suis désolé parce que cela peut être pas exactement une question de programmation, mais il est très lié, comme l'emballage et le déploiement est toujours le travail du programmeur.
La solution
En général, un « registres » un nouveau type de système de fichiers de montage en créant un mount.fstype
exécutable.
$ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfs
Si vdbfs.py
prend des arguments mount
-ish (à savoir dev path [-o opts]
), puis mount -t vdbfs
et en utilisant vdbfs
comme le 3ème champ fstab
fonctionnera. Si elle ne fonctionne pas, vous pouvez créer une enveloppe qui prend des arguments de cette forme et les cartes à tout ce que votre vdbfs.py
prend.
FUSE devrait également installer un exécutable mount.fuse
; mount.fuse 'vdbfs.py#dev' path -o opts
ira et appeler vdbfs.py dev path -o opts
. Dans ce cas, vous pouvez utiliser fuse
comme type de système de fichiers et le préfixe de votre appareil avec vdbfs.py#
.
Autres conseils
Donc, pour clarifier la réponse de ephemient, il y a deux options:
-
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,
-
Créer un fichier exécutable préfixé par "la montagne." (Assurer qu'il peut être utilisé avec des options comme
mount
):$ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfs
Et modifier
/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 manuellement avec mount
, les user
et les options noauto
sont pertinentes et entièrement pris en charge par le fusible lui-même de sorte que vous n'avez pas à les mettre en œuvre vous-même. L'option user
permet à un utilisateur non-priveleged qui est membre du groupe « fusible » monter votre système de fichiers avec la commande mount
et noauto
dirige votre système de fichiers ne pas monter automatiquement au démarrage. Si vous ne spécifiez pas noauto
, il montera automatiquement.
Vous pouvez simplement utiliser le type de système de fichiers de fusible. Les travaux suivants sur mon système:
smbnetfs /media/netbios fuse defaults,allow_other 0 0
Un autre exemple:
sshfs#user@example.com:/ /mnt fuse user,noauto 0 0
Après avoir étudié beaucoup trouvé cette solution pour monter le système de fichiers fusible entrée de fstab
poursuivre. J'utilisais fusible s3bucket pour monter sur la machine linux locale.
-
.passwd-s3fs
: Est-ce pour accéder contenant l'identification de vos aws compte 1] clé secrète et 2] Clé d'accès .
-
uid
: Id utilisateur. Vous pouvez taper la commande linuxid
et vous pouvez obtenir uid
Syntaxe:
s3fs#<Bucket_Name> <Mounted_Direcotry_Path> fuse _netdev,allow_other,passwd_file=/home/ubuntu/.passwd-s3fs,use_cache=/tmp,umask=002,uid=<User_Id> 0 0
Exemple:
s3fs#myawsbucket /home/ubuntu/s3bucket/mys3bucket fuse _netdev,allow_other,passwd_file=/home/ubuntu/.passwd-s3fs,use_cache=/tmp,umask=002,uid=1000 0 0
Pour vous monter besoin de lancer la commande suivante.
mount -a
Pour vérifier votre seau est monté utiliser correctement ou non la commande suivante pour vérifier ce qui montre tous les points montés.
df -h