SSHFS parece estar funcionando, pero ¿Sublime + SSHFS no?


9

Uso el comando, para montar mi sistema de archivos remoto usando SSHFS:

$ sshfs -o uid=1000 -o gid=1000 root@10.0.1.198:/ "/home/chendy/my_mount"

Todo parece ser feliz, a menos que intente abrir y guardar un archivo con Sublime ...

Ver y renombrar archivos? SI:

... Puedo ver mis archivos en el explorador de archivos y puedo cambiar el nombre de los archivos con éxito utilizando el explorador de archivos.

Permisos / Usuarios / Grupos? SI

... Al verificar los permisos, todo parece estar en orden:

$ ls -l '/home/chendy/my_mount/home/kano/test.py'
-rwxrwxrwx 1 chendy chendy 927 Apr 15 16:24

Editar archivo con VIM? SI

... También puedo abrir el archivo con VIM y guardarlo.

Editar archivo con Sublime? ERROR

... Pero cuando abro el archivo en Sublime (Sublime Text 3 Build 3059) cargándolo a través del explorador de archivos o usando la línea de comando:

 $ /opt/sublime_text/sublime_text '/home/chendy/my_mount/home/kano/test.py'

Me sale el mismo error:

No se puede guardar ~ / my_mount / home / kano / test.py Error: cambio de nombre (/home/chendy/my_mount/home/kano/.subl979.tmp, /home/chendy/my_mount/home/kano/test.py) falló : Operación no permitida

¿Que esta pasando? ¿Hay alguna forma de resolverlo?


1
intenta usarlo touch /home/chendy/my_mount/home/kano/.subl979.tmp.
Braiam

Respuestas:


7

Al igual que muchos editores, Sublime guarda en un archivo temporal, luego mueve ese archivo temporal a su lugar. Se hace de esta manera en caso de que el sistema se bloquee durante el guardado: se garantiza que estará presente el archivo original o la nueva versión, no corre el riesgo de perder el archivo.

SSHFS está construido sobre SFTP, que (al menos como lo implementa OpenSSH) no permite renombrar un archivo y sobrescribir atómicamente el objetivo. (Esto se menciona en las preguntas frecuentes de SSHFS ).

Puede evitar esta limitación diciéndole a SSHFS que permita cambiar el nombre y sobrescribir, pero haciendo que la operación no sea atómica (por lo que hay un tiempo muy pequeño durante el cual se elimina el archivo antiguo pero el archivo nuevo todavía tiene su nombre temporal). Este es un problema para algunos casos de uso, pero no solo cuando se edita un archivo.

Agregue la opción -o workaround=renamea su sshfslínea de comando.


1

Respuesta corta, establezca esta configuración en su configuración:

"atomic_save": false

Evitará renombrar sobre sshfs (SFTP), que no es compatible.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.