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.

Était-ce utile?

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:

  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é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 linux id 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
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top