2011-01-24 5 views
5

Sur un Mac, j'ai un dossier partagé, ~ \ Documents. Il existe deux sous-dossiers, Data et Data_2011, le premier contenant des dossiers de fichiers des dernières années, et le second contenant des liens symboliques vers les dossiers du dossier Data qui ont été mis à jour depuis le 1er janvier 2011. Les liens ont été créés avec la norme Commande ln -s.Les liens symboliques fonctionnent lorsqu'ils sont partagés avec Windows ou Linux (smb), mais sont cassés lorsqu'ils sont partagés avec Mac (afp ou smb)

Lorsque je monte le dossier Documents partagé sur un ordinateur Windows, les liens fonctionnent. Quand je monte sur Linux en utilisant smb, les liens fonctionnent. Lorsque j'utilise ces liens directement sur le Mac d'hébergement, ils fonctionnent. Toutefois, lorsque je monte le dossier Documents à partir d'un Mac distant, les liens logiques sont rompus. Pour être clair, je monte le dossier Documents en allant à Finder> Se connecter au serveur> afp: //xxx.xxx.xx.xx/ ou smb: //xxx.xxx.xx.xx/Documents

Toutes les idées pour savoir comment faire fonctionner ces liens souples lorsqu'ils sont partagés avec un Mac distant?

-Sibo

Répondre

4

partage de fichiers Mac OS expose des liens symboliques comme des liens symboliques réels.

Si je connecte un Mac à un autre, en utilisant AFP ou SMB, je peux le confirmer. Notez que les liens symboliques sont résolus par le client - même dans un cas sans partage de fichiers, cela signifie que les chemins relatifs dans les liens symboliques peuvent être difficiles, et dans ce cas impliquant le partage de fichiers réseau, cela signifie que l'ordinateur client a besoin pour pouvoir voir le fichier cible (le fichier cible doit aussi être dans un dossier partagé et monté), et le chemin doit être le même. Par exemple, si je crée un fichier texte nommé "foo" dans mon répertoire personnel, alors faites "ln -s foo symlink" pour créer un lien nommé symlink, puis montez ce répertoire home à partir d'un second ordinateur et fais "ls -l" il est montré comme "symlink @ -> foo", et si je cat le fichier je peux le lire. Mais si je crée le lien symbolique comme "ln -s/Users/matt/foo symlink", alors sur le deuxième ordinateur ls -l le montre comme "symlink @ ->/Users/matt/foo", et chat dit "cat: lien symbolique: Aucun fichier ou répertoire de ce type ". En effet, sur le second ordinateur,/Users/matt est un répertoire local qui ne contient pas de fichier nommé foo (et si c'est le cas, tout ce qui résoudrait le lien symbolique verrait le foo local, pas le foo partagé du premier ordinateur) .

Donc, fondamentalement, vous pouvez utiliser « ls -l » pour voir où le lien symbolique, et notez que l'ordinateur client résoudra le lien symbolique et essayez d'ouvrir tout fichier a ce nom, qui peut ou peut ne pas être ce que vous attendu. (La raison pour laquelle votre test a probablement fonctionné sur votre machine Linux et non sur votre Mac est que la machine Linux a plus de partages réseau montés ou avec des noms différents, de sorte que le nom cible symlink était un nom de fichier valide sur la machine Linux. pas le Mac.)

+0

Je comprends et je suis d'accord avec votre raisonnement pour expliquer pourquoi mes liens symboliques échouent actuellement. Une solution possible pourrait donc être de restructurer ma structure de dossiers, de sorte que Data_2011 soit un dossier contenant à la fois des liens symboliques et un sous-dossier Data. Ce n'est vraiment pas idéal, cependant. Est-il possible de faire fonctionner ces liens sans fusionner les répertoires? J'ai essayé d'utiliser un lien relatif tel que "ln -s ../Data/datafolder symlink", mais je n'obtiens pas un résultat différent. –

+0

Mise à jour: nevermind - créer un lien symbolique avec un emplacement relatif fonctionne, donc je vais marquer cette question Réponse. En fait, je chaînerai ma commande ln dans une commande de recherche ("find -exec ln -s}, donc ça va prendre un peu plus de finesse pour que tout fonctionne dans ma situation.Merci pour l'aide! –

+0

Merci beaucoup. m'aide avec l'installation de la médiathèque Sonos sur macOS High Sierra – ursa

Questions connexes