les liens symboliques travail lorsqu'il est partagé Windows ou Linux (smb), mais brisé quand elle est partagée à Mac (ou afp smb)

StackOverflow https://stackoverflow.com/questions/4777791

  •  23-10-2019
  •  | 
  •  

Question

Sur un Mac, j'ai un dossier partagé, ~ \ Documents. Il existe deux sous-dossiers, données et Data_2011, les anciens contenant des dossiers de fichiers depuis les dernières années, et celui-ci contenant des liens symboliques vers les dossiers dans le dossier de données qui ont été mises à jour depuis le 1er janvier 2011. Les liens ont été créés avec la norme ln -s commande .

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

Toutes les idées sur la façon d'obtenir ces liens souples au travail lorsqu'ils sont partagés à un Mac distant?

-Sibo

Était-ce utile?

La solution

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 non-partage de fichiers ce moyen des chemins relatifs dans les liens symboliques peuvent être difficiles, et dans ce cas impliquant le partage de fichiers réseau, cela signifie que les besoins informatiques des clients à être en mesure de voir le fichier cible (le fichier cible doit également être dans un dossier qui est partagé et monté), et les besoins de chemin pour être le même.

Par exemple, si je crée un fichier texte nommé « foo » dans mon répertoire personnel, puis faire « ln -s foo symlink » pour créer un lien vers ce nom symlink, puis monter ce répertoire à partir d'un deuxième ordinateur et faire « ls -l » il est présenté comme « symlink @ -> foo », et si je le fichier chat je peux le lire. Mais si je crée le lien symbolique comme "ln -s / Users / mat / foo symlink", puis sur le second ordinateur spectacles ls comme "symlink @ -> / Users / mat / foo", et le chat dit « chat: symlink: Aucun fichier ou répertoire ». En effet, sur le second ordinateur, / Users / mat est un répertoire local qui ne contient pas un fichier nommé foo (et si elle a fait, quoi que ce soit la résolution du lien symbolique verrait le foo local, pas le foo partagé à partir 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 attendiez .

(probablement la raison pour laquelle votre test a travaillé à partir de votre machine Linux et pas votre Mac est que la machine Linux a plus de partages réseau montés ou avec des noms différents, tels que le nom de la cible symlink était un nom de fichier valide sur la machine Linux, mais pas le Mac.)

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top