Hängen Sie das NFS-Volume vom MacOS-Client auf dem Ubuntu Linux-Server ein

14

Ich habe einen Ubuntu 14.04 LTS-Server (in meinem Fall eine lokale VM). Wie kann ich von einem Mac OS X Yosemite-Client mit NFS ein Verzeichnis auf dem Linux-Server bereitstellen?

Jo Liss
quelle

Antworten:

35

Einrichten des Linux-Servers

  1. Installieren Sie den NFS-Server gemäß dem Ubuntu NFS-Handbuch :

    sudo apt-get install nfs-kernel-server
    
  2. Bearbeiten /etc/exports:

    sudo nano /etc/exports
    

    Fügen Sie nun eine Zeile hinzu, die der folgenden ähnelt:

    /home/ubuntu 172.16.238.0/24(insecure,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)
    
    • /home/ubuntu ist das zu exportierende Verzeichnis
    • 172.16.238.0/24ist die IP-Adresse, von der aus Verbindungen angenommen werden sollen. Die IP-Adresse des Mac-Clients sollte in diesem Bereich liegen. Verwenden Sie *diese Option , um von jeder IP-Adresse aus zuzulassen. (Achten Sie jedoch darauf, Ihren NFS-Server nicht für das gesamte Internet verfügbar zu machen!)
    • insecure bedeutet, Verbindungen von nicht privilegierten (höheren) Portnummern zu akzeptieren
    • rw bedeutet Lesen-Schreiben
    • all_squash,anonuid=1000,anongid=1000Erzwingt, dass alle Lese- und Schreibvorgänge vom Benutzer / der Gruppe mit der UID / GID 1000 ausgeführt werden (1000 ist der Standardbenutzer ubuntu/ die Standardgruppe auf meinem Server). Führen Sie idauf dem Server aus, um Ihre UID / GID herauszufinden. Sie benötigen diese Optionen, es sei denn, Ihr Ubuntu-Server und Ihr Mac-Client verwenden dieselbe UID / GID für den Hauptbenutzer.
    • no_subtree_check ist eine Leistungssache
  3. Speichern Sie die Datei und führen Sie sie aus

    sudo exportfs -vra
    

    die NFS-Exporte neu zu laden. (Ich bin nicht sicher, ob die -aOption notwendig ist.)

Einrichten des Mac-Clients

  1. Bearbeiten Sie die Datei auto_master :

    sudo nano /etc/auto_master
    

    und ändern Sie die Zeile beginnend mit /net:

    /net            -hosts      -nobrowse,nosuid,locallocks,nfc,actimeo=1
    
    • locallocksErstellt Sperren auf dem Client und nicht auf dem Server. Andernfalls wird Finder sehr langsam und es dauert ewig, bis Verzeichnisse angezeigt werden.
    • nfc Lässt UTF-8-Dateinamen funktionieren
    • actimeo=1Setzen Sie das Attribut-Cache-Timeout so kurz wie möglich. Beachten Sie, dass Finder nicht bemerkt, wenn Sie eine Datei auf dem Server löschen 0(oder hinzufügen noac), sodass wir sie nicht verwenden können.
    • Beachten Sie, dass wir hier nicht verwenden nfsvers=4. Ich bekam damit Kernel-Panics auf dem Mac und kehrte zum Standard (NFSv3) zurück.
  2. Aktualisieren Sie die Automounts, indem Sie ausführen

    sudo automount -vc
    

    (Wenn Sie bereits versucht , ein NFS - Volume zu montieren, aushängen es zuerst, etwa so: sudo umount -f /net/fileserver.local/home/ubuntu)

  3. Wählen Sie im Finder-Menü Gehe zu -> Gehe zu Ordner und geben Sie ein /net/SERVER_HOST_NAME, z /net/fileserver.local.

    Sie sollten Ihr exportiertes Verzeichnis dort finden, zB unter /net/fileserver.local/home/ubuntu. Ziehen Sie dieses Verzeichnis in die Finder-Seitenleiste, damit Sie in Zukunft leichter darauf zugreifen können.

Jo Liss
quelle
Gibt es auch eine Möglichkeit, die Berechtigungen zu korrigieren. Die einzige Möglichkeit, vom Mac aus auf meine Dateien zuzugreifen, besteht darin, dem Ordner, den ich freigeben möchte, 777 Berechtigungen zuzuweisen :( Andernfalls zeigt mir das System eine Meldung an, dass ich keine Berechtigungen zum Durchsuchen des Ordners habe.
Carlos Vega
@carlosvega Die all_squash,anonuid=1000,anongid=1000Optionen kümmern Berechtigungen für mich - alles von UID 1000 auf dem Server Ubuntu Besitz aus dem Mac - Client kein Problem zugegriffen werden, so gibt es keine Notwendigkeit für chmodding zu 777.
Jo Liss
5
Nur ein kurzer Kommentar, wenn Sie nur "on the fly" auf der Mac-Seite montieren möchten, funktioniert dies für mich:sudo mount -t nfs -o resvport 172.16.238.x:/home/ubuntu /Users/xyz/ubuntu
Scott Carlson
Funktioniert für mich mit Mac OSX Sierra und Ubuntu 16.04
Antonios Hadjigeorgalis
2
Die Leute wissen nicht, wie viel Versuch und Irrtum hinter dieser brillanten Antwort steckt. Insbesondere der "nfc" -Teil ist beim Mounten (oder Mounten rsync) von Nicht-MacOS-Servern von entscheidender Bedeutung. Sie werden es zunächst nicht bemerken, aber das UTF-8 ist unter OS X nicht dasselbe wie überall sonst. Ohne sie könnten Ihre Dateinamen sehr gut verstümmelt sein und es kann Stunden dauern, bis sie später behoben sind. Ich weiß, dass ich einen Kommentar nicht verwenden kann, um "Danke" zu sagen, also
beende