5 votes

Monter le partage NFS Linux sur Mountain Lion 10.8.5

Je suis nouveau dans l'utilisation d'Apple comme système d'exploitation principal. Je suis habitué à fstab sous Linux pour garder les montages pour nfs. Quand j'utilise Aller à dans Finder pour monter nfs://adresseipserveur/home/partagé je reçois une erreur de permissions.

Cependant, la commande ci-dessous fonctionne à partir du Terminal :

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

Comment puis-je faire en sorte que ceci soit monté à chaque fois que je me connecte et me connecte au réseau où se trouve ce partage ?

10voto

Dave Points 1037

J'ai passé pas mal de temps à comprendre les montages automatiques des partages NFS dans OS X...

À un moment donné, Apple a décidé qu'autoriser des montages directement dans /Volumes ne devrait pas être possible:

/etc/auto_master (voir dernière ligne):

#
# Carte maîtresse de l'automonteur
#
+auto_master        # Utiliser le service de répertoire
/net            -hôtes      -nobrowse,cacheicro,dissimulerdufinder,nosuid
/home           auto_home   -nobrowse,cacheicro,dissimulerdufinder
/Network/Servers    -fstab
/-          -statique
/-          auto_nfs    -nobrowse,nosuid

/etc/auto_nfs (c'est tout une ligne):

/Volumes/my_mount    -fstype=nfs,sanspropriétaire,pasdelockd,pasderesvport,dur,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

Cela ne fonctionnera pas (plus!) même si cela "devrait".

$ sudo automount -cv
...
automount: /Volumes/my_mount: point de montage indisponible

Quelle est la solution?

C'est tellement facile que ma mâchoire est tombée quand j'ai compris. Fondamentalement, nous trompons OS X en pensant que nous montons * quelque part d'autre. *

Lorsque vous parlez de chemins dans presque n'importe quel environnement, le dossier racine est le chemin le plus élevé auquel vous pouvez accéder, que ce soit C:\ (windows) ou / (*nix)

Lorsque vous êtes à ce chemin, en essayant d'atteindre le chemin parent, via .. vous maintiendra au chemin racine.

Par exemple: /../../../../ est toujours simplement /

À ce stade, certains d'entre vous l'ont déjà compris.

TL;DR / Solution:

Changez votre configuration de /etc/auto_nfs de (c'est tout une ligne):

/Volumes/my_mount    -fstype=nfs,sanspropriétaire,pasdelockd,pasderesvport,dur,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

À (c'est tout une ligne):

/../Volumes/my_mount    -fstype=nfs,sanspropriétaire,pasdelockd,pasderesvport,dur,bg,intr,rw,tcp,nfc nfs://192.168.1.1:/exports/my_share

Et relancez l'automonteur:

$ sudo automount -cv
...
automount: /Volumes/my_mount: monté

..... voilà! Techniquement /../Volumes reste /Volumes, mais l'automonteur ne voit pas les choses de cette façon ;)

Cette configuration persiste le montage à travers les redémarrages, et crée automatiquement le point de montage.

JE SAIS, N'EST-CE PAS?

0voto

bernedef Points 723

Je suis également nouveau sur OSX. Voici comment j'ai monté mon partage Linux. J'ai utilisé sudo vifs qui est apparemment la manière préférée sur OSX pour éditer /etc/fstab. J'ai ensuite saisi une entrée de montage comme ci-dessous:

myserver:/chemin/vers/fichiers /Utilisateurs/moi/fichiers nfs resvport,bg,async,nfc 0 0

Cela fonctionne et le montage se fait automatiquement. Cependant, je souffre du fameux problème de performance dans Finder (copie rapide vers le serveur en ligne de commande mais extrêmement lente dans Finder).

Les options de montage que j'ai utilisées sont:

  • resvport - nécessaire pour utiliser un port bas comme attendu par le serveur Linux
  • bg - le montage sera réessayé en silence en arrière-plan en cas d'échec
  • async - ma tentative d'augmenter les performances. Consultez man mount_nfs et lisez les risques.
  • nfc - permet aux caractères UTF-8 de fonctionner correctement (man mount_nfs)

Pour compléter, voici la configuration côté serveur dans /etc/exports:

/home/moi/fichiers 10.20.30.40(rw,sync,all_squash,anonuid=1000,anongid=100)

Ici, 10.20.30.40 devrait être l'IP du client OSX (en supposant que vous voulez restreindre l'exportation à ce client). Mon uid/gid Linux sont 1000/100. J'ai utilisé all-squash pour convertir uid/gid en ceux que j'ai sur Linux en raison des différences sur OSX. Ce n'est pas la façon parfaite de le faire, mais cela répond à mes besoins immédiats.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X