私の同僚はデスクトップコンピュータを持っていて、ファイルサーバ上で/home
を共有しています。私のラップトップでは問題なく動作するsshfs
の特定のディレクトリを別のSSHホストにマウントするためのPerlスクリプトを開発しました
彼のコンピュータでは、スクリプトは最後にsshfs
のマウント解除に失敗し、マウントポイントをクリーンなままにしてしまいます。再起動以外にマウントポイントを回復する方法は見つかりませんでした。いくつかのテストの後、私たちの設定の違いは、彼の/home
がNFS上にあることだとわかりました。彼の/tmp
では完璧に動作しています
マウント後、スクリプト操作中はすべて正常です。しかし、sshfs
プロセスを終了させると、親プロセス(Perlスクリプト)が終了するまでps
によって<defunc>
としてリストアップされます。シェル上で生のsshfs
コマンドを実行しても問題は発生します
マウントポイントのための ls -dl
出力は次のようになります (思い出したように – 私は手元にシェル出力の実際のコピーを持っていません)
? 1 ? ? 4096 Feb 9 15:37 file_archive/
(ほとんどの情報、少なくともすべての許可の詳細については疑問符のみ)
sshfs のマウントは mount
でリストアップされたままですが、アンマウント操作は root
のようにしてもパーミッションが拒否されて失敗します
Googleで検索してみましたが、ネットワークファイルシステムを実行するためのsshfsとNFSの比較がたくさん出てきました。NFS ディレクトリ内で sshfs のマウント/アンマウントを安全に行うにはどうすればいいですか?
16 Daniel Böhmer 2011-05-30
を実行することで、sshfs 共有をアンマウントできるはずです
fusermount -u /path/to/sshfs/share
37 CJ Travis 2011-05-30
pkill to を使ってプロセスを kill し、マウントされたフォルダパスをアンマウントするだけです
pkill -kill -f "sshfs" && umount /path/to/sshfs/share
15 SAGAR 2014-09-24
この答えはUbuntu 20.04を参照していますが、一般的には、sshfs
ボリュームを適切にアンマウントするには2つのステップが必要です: i) sshfs
プロセスを kill し、ii) sudo
を使ってアンマウントします。sudo
を使用しないと、たとえパーミッションが正しくても、システムは「デバイスまたはリソースがビジー」や「トランスポートエンドポイントが接続されていません」といったメッセージを報告します
説明書はこんな感じです
killall sshfs
sudo umount -l /path/to/sshfs/share
0 Luís de Sousa 2020-10-08
sudo diskutil umount force ~/mount/
このコマンドはOS Xで動作するようです
-2 Robert Mihai Ionas 2016-02-13