J'ai des problèmes avec les liens symboliques et sshfs. J'utilise l'option '-o follow_symlinks' pour suivre les liens symboliques côté serveur, mais chaque fois que je modifie un fichier lié symboliquement côté client avec vim, une copie de celui-ci est créée côté serveur, ce qui signifie qu'il ne s'agit plus d'un lien symbolique.
Configurez un lien symbolique côté serveur:
me@machine1:~$ echo foo > test.txt
me@machine1:~$ mkdir test
me@machine1:~$ cd test
me@machine1:~/test$ ln -s ../test.txt test.txt
me@machine1:~/test$ ls -al test.txt
lrwxrwxrwx 1 me me 11 Jan 5 21:13 test.txt -> ../test.txt
me@machine1:~/test$ cat test.txt
foo
me@machine1:~/test$ cat ../test.txt
foo
Jusqu'ici tout va bien. Maintenant:
me@machine2:~$ mkdir test
me@machine2:~$ sshfs me@machine1:test test -o follow_symlinks
me@machine2:~$ cd test
me@machine2:~/test$ vim test.txt
[in vim, add a new line "bar" to the file]
me@machine2:~/test$ cat test.txt
foo
bar
Observez maintenant ce que cela fait au fichier côté serveur:
me@machine1:~/test$ ls -al test.txt
-rw-r--r-- 1 me me 19 Jan 5 21:24 test.txt
me@machine1:~/test$ cat test.txt
foo
bar
me@machine1:~/test$ cat ../test.txt
foo
Comme vous pouvez le voir, il en a fait une copie et n’a édité que la copie.
Comment puis-je le faire fonctionner afin qu'il suive le lien symbolique lors de la modification du fichier?
echo bar >> test.txt
sur la machine client conserve le lien symbolique
-o transform_symlinks
serait-il une meilleure alternative?