Mounten Sie die Linux-NFS-Freigabe auf Mountain Lion 10.8.5

Ich bin neu in der Verwendung von Apple als Hauptbetriebssystem. Ich bin es gewohnt, in Linux fstab zu verwenden, um die Mounts für nfs zu behalten. Wenn ich Go toim Finder zum Mounten verwende nfs://serveripaddress/home/shared, erhalte ich einen Berechtigungsfehler.

Der folgende Befehl funktioniert jedoch vom Terminal aus:

    mount -t nfs -o resvport,nolocks,locallocks,intr,soft,wsize=32768,rsize=3276 \
        serveripaddress:/home/shared /private/shared

Wie kann ich dies jedes Mal einhängen lassen, wenn ich mich an dem Netzwerk anmelde und vpn, in dem sich diese Freigabe befindet?

Derzeit habe ich auf ein Shell-Skript in meinem Dokumentenordner zurückgegriffen, das bei Ausführung die gewünschten Laufwerke einbindet.
Ich kämpfe auch mit NFS - siehe meine Antwort auf Ihre Frage unten. Könnten Sie bitte die Mount-Optionen in Ihrem Beispiel erklären und warum Sie sie verwenden?

Antworten (2)

Ich habe ziemlich viel Zeit damit verbracht, Automounts von NFS-Freigaben in OS X herauszufinden ...

Irgendwann hat Apple entschieden, dass Mounts direkt in /Volumes nicht möglich sein sollten:

/etc/auto_master (siehe letzte Zeile) :

#
# Automounter master map
#
+auto_master        # Use directory service
/net            -hosts      -nobrowse,hidefromfinder,nosuid
/home           auto_home   -nobrowse,hidefromfinder
/Network/Servers    -fstab
/-          -static
/-          auto_nfs    -nobrowse,nosuid

/etc/auto_nfs (das ist alles eine Zeile) :

/Volumes/my_mount    -fstype=nfs,noowners,nolockd,noresvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

Das wird nicht (mehr!) funktionieren, obwohl es "sollte".

$ sudo automount -cv
...
automount: /Volumes/my_mount: mountpoint unavailable

Was ist die Lösung?

Es ist so einfach, dass mir die Kinnlade runtergefallen ist, als ich es herausgefunden habe. Im Grunde täuschen wir OS X vor, dass wir * woanders mounten. *

Wenn Sie in fast jeder Umgebung über Pfade sprechen, ist der Stammordner der höchste Pfad, den Sie erreichen können, egal ob es sich um C:\(Windows) oder /(*nix) handelt.

Wenn Sie sich an diesem Pfad befinden und versuchen, den übergeordneten Pfad zu erreichen, ..bleiben Sie über via beim Stammpfad.

Zum Beispiel: /../../../../ist noch gerade/

Inzwischen haben es einige von euch bereits herausgefunden.

TL;DR / Lösung:

Ändern Sie Ihre /etc/auto_nfsKonfiguration von (das ist alles eine Zeile) :

/Volumes/my_mount    -fstype=nfs,noowners,nolockd,noresvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

An (das ist alles eine Zeile) :

/../Volumes/my_mount    -fstype=nfs,noowners,nolockd,noresvport,hard,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

Und führen Sie den Automounter erneut aus:

$ sudo automount -cv
...
automount: /Volumes/my_mount: mounted

..... es geht los! Technisch /../Volumesimmer noch /Volumes, aber der Automounter sieht das nicht so ;)

Diese Konfiguration behält die Bereitstellung über Neustarts bei und erstellt den Bereitstellungspunkt automatisch.

ICH WEISS ES SCHON GUT?

Ich bin auch neu bei OSX. So habe ich meine Linux-Freigabe gemountet. Ich habe verwendet sudo vifs, was anscheinend die bevorzugte Methode von OSX zum Bearbeiten ist /etc/fstab. Ich habe dann eine Mount-Strophe wie die folgende eingegeben:

myserver:/path/to/files /Users/me/files nfs resvport,bg,async,nfc 0 0

Das funktioniert und der Mount erfolgt automatisch. Ich leide jedoch unter dem berühmten Show-Performance-in-Finder-Problem (schnelles Kopieren auf den Server in der Befehlszeile, aber unerträglich langsam im Finder).

Die Mount-Optionen, die ich verwendet habe, sind:

  • resvport- erforderlich, um einen niedrigen Port zu verwenden, wie vom Linux-Server erwartet
  • bg- Das Mounten wird stillschweigend im Hintergrund wiederholt, wenn es nicht erfolgreich ist
  • async- mein Versuch, die Leistung zu steigern. man mount_nfsund lesen Sie die Risiken.
  • nfc- sorgt dafür, dass UTF-8-Zeichen richtig funktionieren ( man mount_nfs)

Der Vollständigkeit halber hier die serverseitige Konfiguration in /etc/exports:

/home/me/files 10.20.30.40(rw,sync,all_squash,anonuid=1000,anongid=100)

Hier sollte 10.20.30.40 die IP des OSX-Clients sein (vorausgesetzt, Sie möchten den Export auf diesen Client beschränken). Meine Linux UID/GID sind 1000/100. Ich habe all-squashuid/gid aufgrund der OSX-Unterschiede in die konvertiert, die ich unter Linux habe. Dies ist kein perfekter Weg, dies zu tun, aber es erfüllt meine unmittelbaren Bedürfnisse.