SSHFS dường như đang hoạt động, nhưng Sublime + SSHFS thì không?


9

Tôi sử dụng lệnh, để gắn kết hệ thống tập tin từ xa của mình bằng SSHFS:

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

Mọi thứ dường như đều hạnh phúc, trừ khi tôi cố gắng mở và lưu một tệp với Sublime ...

Xem và đổi tên tập tin? ĐÚNG:

... Tôi có thể xem các tệp của mình trong trình duyệt tệp và tôi có thể đổi tên thành công tệp bằng trình duyệt tệp.

Quyền / Người dùng / Nhóm? ĐÚNG

... Khi kiểm tra quyền, mọi thứ dường như theo thứ tự:

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

Chỉnh sửa tập tin với VIM? ĐÚNG

... Tôi cũng có thể mở tệp bằng VIM và lưu nó.

Chỉnh sửa tập tin với Sublime? LỖI

... Nhưng khi tôi mở tệp trong Sublime (Sublime Text 3 Build 3059) bằng cách tải nó thông qua trình thám hiểm tệp hoặc sử dụng dòng lệnh:

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

Tôi nhận được lỗi tương tự:

Không thể lưu ~ / my_mount / home / kano / test.py Lỗi: đổi tên (/home/chendy/my_mount/home/kano/.subl979.tmp, /home/chendy/my_mount/home/kano/test.py) : Không được phép vận hành

Chuyện gì đang xảy ra vậy? Có cách nào để giải quyết?


1
thử sử dụng touch /home/chendy/my_mount/home/kano/.subl979.tmp.
Braiam

Câu trả lời:


7

Giống như nhiều biên tập viên, Sublime lưu vào một tệp tạm thời, sau đó di chuyển tệp tạm thời đó vào vị trí. Nó được thực hiện theo cách này trong trường hợp hệ thống gặp sự cố trong quá trình lưu: đảm bảo rằng tệp gốc hoặc phiên bản mới sẽ xuất hiện, bạn không có nguy cơ mất tệp.

SSHFS được xây dựng dựa trên SFTP, mà (ít nhất là do OpenSSH triển khai) không cho phép đổi tên một tệp và ghi đè lên mục tiêu. (Điều này được đề cập trong Câu hỏi thường gặp về SSHFS .)

Bạn có thể khắc phục giới hạn này bằng cách yêu cầu SSHFS cho phép đổi tên và ghi đè, nhưng làm cho hoạt động không phải là nguyên tử (vì vậy có một thời gian rất nhỏ trong đó tệp cũ bị xóa nhưng tệp mới vẫn có tên tạm thời). Đây là một vấn đề đối với một số trường hợp sử dụng nhưng không phải khi chỉnh sửa một tập tin.

Thêm tùy chọn -o workaround=renamevào sshfsdòng lệnh của bạn .


1

Câu trả lời ngắn, đặt cài đặt này trong cấu hình của bạn:

"atomic_save": false

Nó sẽ tránh đổi tên trên sshfs (SFTP), không được hỗ trợ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.