私はしばしばsshfs
リモートディレクトリツリー(たとえばmyhost:~/workspace/
)をローカルディレクトリツリー(たとえば~/workspace-mount/
)にマウントし、ローカルエディタでリモートファイルを開くために使用します。
私が知らない間に接続が切断され、リモートディレクトリツリーがアンマウントされるのは珍しいことではありません。誤ってローカルエディタに開いているファイルを保存した場合、エディタは自動的にそのファイルをローカルディスクに保存し、必要に応じてリモートディレクトリ構造を再作成します。今私は知らないようにファイルのコピーがあるので、これは混乱を招きます。
マウントが失われた場合は、権限エラーなどにより保存が失敗することをお勧めします。
~/workspace-mount/
書き込み権限を削除しようとしましたが、fusermount
書き込み権限がない場合、インストールは拒否されました。
私が考えることができる最良のオプションは、ローカルで直接サブディレクトリを再作成し、そのディレクトリへmyhost:~/workspace/
の書き込み権限を削除することです。それらただし、これはメンテナンスが困難で、直接存在する偶発的なフォークを防ぐことはできませんmyhost:~/workspace/
。
アンインストール時に誤ってローカルマウントポイントに書き込むのを防ぐ方法はありますか?
答え1
フラグを使用してくださいreconnect
。これにより、ファイルシステムがマウントされたままになります。接続が失われると、ファイルシステムで保留中のジョブがあるプロセスが中断され、接続が再確立されないと、最終的に通常のI / Oエラーが原因で失敗します。
設定方法によっては、接続を切断した後に実際に再接続するか(Sshキーを使用している場合)、マウントポイントが破損する可能性があります(パスワードを使用している場合)。 I / Oエラーがすぐに発生した場合(再接続が失敗したことを意味)、fusermount -u ~/workspace-mount/
再マウントを試みる前に発行する必要があるかもしれません。
それにもかかわらず、あなたとあなたのプログラムは切断を知るでしょう。
sshfs -o reconnect myhost:~/workspace ~/workspace-mount/
これをテストするには、サーバー側でsftp-serverをシャットダウンして、切断の状況を大まかにシミュレートできます。