毎日 ssh 経由で接続するリモート サーバーがあります。サーバー上のファイルの編集を頻繁に行うため、sshfs
これを使用します。
私はディレクトリをマウントします$ sshfs user@host:/var/www/html ~/sshfs/html
。これは過去数か月間非常にうまく機能していましたが、すべき今でも動作します。ただし、奇妙なことに一貫性のないアクセスの問題が発生しています。
ケース1 - 崇高なテキスト:私が選んだエディタ (Sublime Text) を使用しても、何も保存できません。~/sshfs/html/
どちらでも、名前を付けて保存して新しいファイルを作成することもできません。ファイルを開くことはできますが、保存することはできません。
Sublime は保存しようとすると警告ボックスに次のメッセージを表示します。
Unable to save ~/sshfs/html/foo
Error: rename(/home/ben/sshfs/html/.subl219.tmp, /home/ben/sshfs/html/foo) failed
errno: 1
ケース2 - ケイト:Sublimeがおかしいのか確かめるためにKateで開いてみました。まだ既存のファイルを編集できません。しかし、問題なく新しいファイルを作成できますケイトで。
編集内容を保存しようとすると、Kate は警告ボックスに次のメッセージを表示します。
The document could not be saved, as it was not possible to write to /home/ben/sshfs/html/foo.
Check that you have write access to this file or that enough disk space is available.
ケース3 - Vim:ここで物事が意味をなさなくなってきます。ローカルマシンでVimを使ってみましたが、
$ vim ~/sshfs/html/foo
驚いたことに、Vim の使用にはまったく問題がありません。問題なくファイルを開いたり、編集したり、保存したり、作成したりできます。 などのシェル コマンドを使用する場合も問題はありませんtouch
。
考慮すべき事項
- グループアクセス
- グループは、
developers
編集したいすべてのファイルにアクセスできます。 - 私のローカル ユーザーはグループのメンバーです
developers
。 - 私のリモート ユーザー (SSH 経由でログインするアカウント) はグループのメンバーです
developers
。 - グループは、
developers
同じ ID でサーバーとローカル マシンの両方に存在します。
- グループは、
- 他のもの
- 私は、このように使用するいくつかのサーバーにまたがる複数のディレクトリを持っています。他のサーバーの他のディレクトリでは、何も問題は発生していません。
$ ls -l
マウント ポイント内のローカル ホストで実行中:
出力
drwxrwxr-x 1 root developers 4096 Sep 8 06:47 admin
drwxrwxr-x 1 root developers 4096 Jun 4 2013 agent_submit
-rwxrwxr-x 1 root developers 6605 Jun 4 2013 authorize.php
$ ls -l
ssh シェルを介してリモート ホスト上で実行します。
出力
drwxrwxr-x 10 root developers 4096 Sep 8 06:47 admin
drwxrwxr-x 2 root developers 4096 Jun 4 2013 agent_submit
-rwxrwxr-x 1 root developers 6605 Jun 4 2013 authorize.php
答え1
sshfs -o workaround=rename user@host:/var/www/html ~/sshfs/html
出典: