Bus errorとSegmentation faultに困ったら見るブログ

物理の研究者による日々の研究生活のメモ書きです ( python/emacs/html/Japascript/シェルスクリプト/TeX/Mac/C言語/Linux/git/tmux/R/ポケモンGO)

【sshfs】ssh越しにディスクをマウントしたい

sshfsコマンドを使えばOK
Macへのインストールはportでできる

sshfs @2.10 (fuse)
SSH filesystem for FUSE
使い方はsshとほぼ同じだけど、事前にローカル(手元)でディレクトリを作っておいた方がいい
(Macでは作らなくてもいけたけど、Linuxだと事前に用意必須)
sshfs ユーザ名@ssh先のホスト名:マウントするディレクトリへのPATH ローカルでのマウント位置

例えば
mkdir foo
sshfs your_name@hoge.com:/somewhere foo

Macの場合、最初に警告が出て環境設定での許可が必要だった(スクショ撮り忘れた)


マウントを解除するときは

diskutil unmount foo
fusermountを使って
fusermount -u foo
でも解除できる
uオプションなしだと
fusermount: old style mounting not supported
というエラーができて、マウントを解除できなかった


それでも無理ならpsでPIDを調べてkillコマンドで終了させる




sshfsが今やろうとしてることの要件に叶うかは微妙かも?
ssh先のファイルの処理は全部手元でやるので、ファイルを全部scpしてきてるのと変わらなかった
毎回scpしなくても1度sshfsするだけでよくなるのが利点かも





sshfsで接続したときに、接続先のディレクトリをread-onlyで接続したいときは

sshfs your_name@hoge.com:/somewhere foo -o ro
みたいにオプションを付ければOK




接続を解除しようとしたら次のエラーが出た

fusermount: failed to unmount /home/hoge/data: Device or resource busy
接続を解除は
sudo umount -l data



エラーが出て勝手に接続が切れていた

cannot access 'hoge': Transport endpoint is not connected
一度
fusermount -u hoge
で接続を切ってから再接続するとエラーが消えた



sshfsでマウントが接続切れになったときに自動的に復旧するオプションを見つけた

sshfs your_name@hoge.com:/somewhere foo -o ro -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3

■ 参考 : SSHFS - auto reconnect

■ 参考 : サーバ起動時にマウント

ランキング参加中です

↓クリックしていただけると嬉しいです〜