SSHFS tampaknya berfungsi, tetapi Sublime + SSHFS tidak?

9

Saya menggunakan perintah, untuk memasang sistem file jarak jauh saya menggunakan SSHFS:

$ sshfs -o uid=1000 -o gid=1000 [email protected]:/ "/home/chendy/my_mount"

Semuanya tampak bahagia, kecuali saya mencoba dan membuka dan menyimpan file dengan Sublim ...

Lihat dan ganti nama file? IYA:

... Saya dapat melihat file saya di file explorer, dan saya berhasil mengubah nama file menggunakan file explorer.

Izin / Pengguna / Grup? IYA

... Saat memeriksa izin, semuanya tampak berurutan:

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

Edit file dengan VIM? IYA

... Saya juga dapat membuka file dengan VIM dan menyimpannya.

Edit file dengan Luhur? KESALAHAN

... Tetapi ketika saya membuka file di Sublime (Sublime Text 3 Build 3059) dengan memuatnya melalui file explorer, atau menggunakan baris perintah:

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

Saya mendapatkan kesalahan yang sama:

Tidak dapat menyimpan ~ / my_mount / home / kano / test.py Kesalahan: mengganti nama (/home/chendy/my_mount/home/kano/.subl979.tmp, /home/chendy/my_mount/home/kano/test.py) gagal : Operasi tidak diizinkan

Apa yang sedang terjadi? Apakah ada cara untuk menyelesaikannya?

Chendy
sumber
1
coba gunakan touch /home/chendy/my_mount/home/kano/.subl979.tmp.
Braiam

Jawaban:

7

Seperti banyak editor, Sublime menyimpan ke file sementara, lalu memindahkan file sementara itu ke tempatnya. Ini dilakukan dengan cara ini seandainya sistem crash selama penyimpanan: dijamin bahwa file asli atau versi baru akan hadir, Anda tidak berisiko kehilangan file.

SSHFS dibangun di atas SFTP, yang (setidaknya seperti yang diterapkan oleh OpenSSH) tidak memungkinkan penggantian nama file dan secara atomik menimpa target. (Ini disebutkan dalam FAQ SSHFS .)

Anda dapat mengatasi batasan ini dengan memberi tahu SSHFS untuk memperbolehkan penggantian nama dan menimpa, tetapi melakukan operasi non-atomik (jadi ada sedikit waktu selama file lama dihapus tetapi file baru masih memiliki nama sementara). Ini adalah masalah untuk beberapa kasus penggunaan tetapi tidak saat mengedit file.

Tambahkan opsi -o workaround=renameke sshfsbaris perintah Anda .

Gilles 'SANGAT berhenti menjadi jahat'
sumber
1

Jawaban singkat, atur pengaturan ini di konfigurasi Anda:

"atomic_save": false

Ini akan menghindari pengubahan nama menjadi sshfs (SFTP), yang tidak didukung.

Wainer Chiari
sumber