web-dev-qa-db-fra.com

Comment faire fonctionner les liens symboliques avec une monture à distance?

J'ai deux serveurs, A et B

A possède deux systèmes de fichiers,/alpha et/beta

J'ai un lien symbolique:

ln -s /alpha/foo /beta/bar

Tel que:

lrwxrwxrwx 1 root    root           70 Dec 22 13:32 /beta/bar -> /alpha/foo

Ensuite, je monte/beta, à distance sur B via un montage NFS

Le lien ne fonctionne plus.

Existe-t-il un moyen d'y parvenir? Je voudrais pouvoir accéder à A:/alpha/foo sur le serveur B, mais je veux pouvoir le faire via le lien symbolique/beta/bar.

Dois-je modifier ma monture ou mon lien? Ou est-ce que j'essaye de réaliser l'impossible?

MISE À JOUR

J'aurais dû ajouter: "sans montage/alpha sur le serveur B". En bref, je voudrais que le lien symbolique soit suivi vers le fichier réel en question chaque fois que le serveur B accède/beta/bar

20
Dancrumb

Les liens logiciels contiennent uniquement un chemin vers un autre fichier sur la machine locale. Vous ne pouvez pas référencer un fichier qui n'est pas accessible sur le ou les systèmes de fichiers locaux.

Options:

  • N'utilisez pas de liens logiciels, copiez le fichier
  • Réticulation (presque toujours une mauvaise idée)
  • Réorganiser/refaire tout ce qui impose l'exigence d'accès aux fichiers
19
dietbuddha

Le lien pointe correctement vers /alpha/foo, mais cela n'existe pas sur votre machine. Si vous montez /alpha, le lien fonctionnera.

3
robert

Vous pourrez peut-être utiliser l'utilitaire sshfs pour faire ce que vous voulez faire. Cela vous permettra de monter un système de fichiers sur un ordinateur distant, sur votre ordinateur local. Voici une référence sur la façon de procéder: https://www.digitalocean.com/community/tutorials/how-to-use-sshfs-to-mount-remote-file-systems-over-ssh =

2
mml_sw

le contenu du lien du symbole logiciel est une chaîne de chemin d'accès, il ne sait rien de la façon dont vous montez les systèmes de fichiers. Dans votre cas, vous pouvez monter/alpha et/beta sur B avec un exemple de chemin A. Mais suggérez fortement de ne pas croiser le système réseau, c'est difficile à maintenir.

1
Huang F. Lei

Vous devrez monter /alpha dans votre machine afin d'avoir le lien pour travailler.

0
dirac3000

sonne comme ce que vous voulez vraiment est un lien dur. c'est un autre pointeur vers les mêmes données dans le système de fichiers, donc pour vraiment supprimer ce fichier et libérer cet espace disque, vous devez supprimer tous les liens durs vers celui-ci.

certains scripts et outils peuvent être déroutés par eux.

0
pixel