У меня проблемы с символическими ссылками и sshfs. Я использую опцию -o follow_symlinks, чтобы следовать символическим ссылкам на стороне сервера, но всякий раз, когда я редактирую символический файл на стороне клиента с помощью vim, его копия создается на стороне сервера, то есть больше не является символической ссылкой.
Установите символическую ссылку на стороне сервера:
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
Все идет нормально. Сейчас:
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
Теперь посмотрим, что это делает с файлом на стороне сервера:
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
Как видите, он сделал копию и только отредактировал копию.
Как я могу заставить его работать, чтобы он действительно следовал символической ссылке при редактировании файла?