Frage

ich ein kleines FUSE-basiertes Dateisystem geschrieben habe und nun der einzigen Teil fehlt, ist, dass ich es mit fstab (5) registrieren möge Auto-Mount es beim Systemstart und / oder manuell montiert mit nur mount /srv/virtual-db. Wie kann ich das erreichen?

ich weiß, ich kann nur /usr/bin/vdbfs.py /srv/virtual-db von einem Init-Skript laufen, aber das ist nicht gerade hübsch.

Es tut mir leid, weil dies eine Programmierung Frage nicht genau sein kann, aber es ist sehr verwandt, da die Verpackung und Bereitstellung ist nach wie vor die Aufgabe des Programmierers.

War es hilfreich?

Lösung

In der Regel ein „Register“, ein neues Dateisystem-Typ bereitstellen, indem ein ausführbares mount.fstype zu schaffen.

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

Wenn vdbfs.py mount-ish Argumente annimmt (das heißt dev path [-o opts]), dann mount -t vdbfs und mit vdbfs als das dritte Feld in fstab arbeiten. Wenn dies nicht der Fall, können Sie einen Wrapper erstellen, die lassen die Argumente dieser Form und ordnet sie, was auch immer Ihre vdbfs.py nimmt.

FUSE sollte auch eine mount.fuse ausführbare Datei installieren; mount.fuse 'vdbfs.py#dev' path -o opts wird weitergehen und Call vdbfs.py dev path -o opts. In diesem Fall können Sie fuse als Dateisystem-Typ verwenden und Ihr Gerät mit vdbfs.py# Präfix.

Andere Tipps

So ephemient Antwort zu klären, gibt es zwei Möglichkeiten:

  1. Bearbeiten /etc/fstab wie folgt aus:

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

    Oder

  2. eine ausführbare Datei erstellen mit dem Präfix "mount". (Um sicherzustellen, kann es verwendet werden mit mount ähnlichen Optionen):

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

    Und bearbeiten /etc/fstab wie folgt aus:

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

Im Hinblick auf die Auto-Montage beim Start und manuell mit mount Montage, die user und noauto Optionen sind relevant und vollständig durch Sicherung selbst unterstützt, so dass Sie müssen sie nicht selbst implementieren. Die user Option läßt einen nicht-privilegierten Benutzer, der ein Mitglied der Gruppe „fuse“ mit dem mount Befehl mount Ihr Dateisystem ist, und noauto leitet das Dateisystem nicht automatisch beim Start zu montieren. Wenn Sie nicht noauto angeben, wird es automatisch montieren.

Sie könnten nur Sicherung Dateisystem-Typen verwenden. Folgende Arbeiten auf meinem System:

smbnetfs    /media/netbios    fuse    defaults,allow_other    0    0

Ein weiteres Beispiel:

sshfs#user@example.com:/    /mnt    fuse    user,noauto    0    0

Nach vieler Erforschung fand diese Lösung Sicherung Dateisystem verklagt fstab Eintrag zu montieren. Ich war mit Sicherung für s3Bucket auf lokaler Linux-Maschine zu montieren.

  • .passwd-s3fs: Ist enthält Anmeldeinformationen Ihre aws-Konto zugreifen 1] geheime Schlüssel und 2] Access Key
  • .
  • uid: Benutzer-ID. Sie können Linux-Befehl id eingeben und Sie können uid
  • erhalten

Syntax:

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

Beispiel:

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

Zur Montage Sie müssen folgenden Befehl ausführen.

mount -a

Ihr Eimer Um zu überprüfen ist richtig montiert oder nicht folgenden Befehl verwenden, um zu überprüfen, welche zeigt alle Punkte montiert ist.

df -h
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top