Start! MacBook

第5回サーバでの開発環境[前偏]―MacFUSE+sshfs

今回のテーマは

突然ですが、筆者の趣味の一つは週末プログラミングです。レンタルサーバを何台か借りていて、そこにWeb APIを使ったサイトを思いつきで作って公開したりしています。

レンタルサーバへはターミナルからSSHでログインして、そこでEmacsを使って開発することが多いです。サーバでの開発は、大抵はターミナル越しになるので、そこでローカルマシンとの開発環境の断絶が起こります。ローカルと完全に同じにするのは無理ですし、そこまでする必要はないと思いますが、やはりこちら側とあちら側でコピーやバックアップなどを簡単に行いたいし、ちょっとした編集作業ならシームレスでやりたいところです。

最近、sshfs(MacFUSE+sshfs)というツールを知りました。SSHでログインできるサーバを、ローカルにマウントして、あたかも手元のMacのHDDのように扱うことができるのです。⁠私の欲しかったのはこれだっ!」と、何かがビビビときましたので、今回はこの話題で行きたいと思います。

MacFUSE+sshfsで楽々サーバ開発

さっそく導入してみます。まず、MacFUSEをインストールします。MacFUSEとは、Mac OS X上でフル機能のファイルシステムを実現することを可能にするプログラムです。MacFUSEのオフィシャルページから「MacFUSE-Core-0.4.0.dmg」をダウンロードします図1⁠。あとは、インストーラの指示に従ってインストールします図2⁠。MacFUSEのインストールはこれで完了です。

図1 URL:http://code.google.com/p/macfuse/
画像
図2 インストーラ
図2 インストーラ

次に本題であるsshfsをインストールしましょう。これにより、SSHでアクセスできるサーバがファイルシステムになるのです。同じくMacFUSEのオフィシャルページの右カラムから「sshfs-0.3.0.dmg」をダウンロードして、アイコンを「アプリケーション」フォルダにドラッグ&ドロップして、完了です。アイコンはこんな感じです(⁠図3⁠。

図3 sshfsのアイコン
図3 sshfsのアイコン

使ってみる

さて、実際に使ってみましょう。SSHでログインできるサーバとして、さくらインターネットのレンタルサーバでやってみます。

操作はターミナルからコマンドラインでもできるのですが[1]⁠、ここではGUIを使います。

まず接続。先ほどインストールした、sshfs(⁠⁠アプリケーション⁠⁠-⁠sshfs⁠⁠)をダブルクリックして起動します。⁠Connect to SSH Server]⁠SSHサーバへの接続画面)が出てきますので、サーバ名、ユーザ名、マウントしたいサーバ側のディレクトリを入力します(⁠図4⁠。⁠Connect]をクリックすると、パスワード入力ウィンドウが出てくるので、サーバのパスワードを入力します。

図4 SSHサーバへの接続画面
図4 SSHサーバへの接続画面

そして[OK]をクリックすると、サーバ名と同じ「yattane.sakura.ne.jp」というラベルのボリュームができます。ここにyattane.sakura.ne.jp:/home/yattaneがマウントされています。Finderから見てみましょう。普通にサーバ側のファイルが見えています(⁠図5⁠。

図5 サーバ側のファイルが見える
図5 サーバ側のファイルが見える

ターミナルからは、

ls /Volumes/yattane.sakura.ne.jp/
cp a.txt /Volumes/yattane.sakura.ne.jp/

など、普通のファイルシステムとして操作できます。ファイルやディレクトリの作成、削除、編集も思いのままです。つまり、ローカルマシンでサーバの開発作業ができるわけです。これはうれしい!

あと、コピーやバックアップなども手軽にできます。ドラッグ&ドロップなどのGUI操作もシームレスにできて便利です。

アンマウントは、Finderのボリューム名の右にあるアイコンをクリックするだけです。USBメモリなどのストレージのアンマウントと同じですね。

MacFUSEを使った、sshfs以外のファイルシステム

sshfsはSSHを使ったファイルシステムなのですが、それ以外にもMacFUSEベースのファイルシステムが公開されています。

たとえば、WindowsのNTFSに対応したNTFS-3gというのがあります。BootCampでWindows(NTFSフォーマット)を入れたときに、Mac OSからWindows側のボリュームにアクセスしたい場合などに利用できます[2]⁠。

また、SpotlightFSは、Mac OS標準のファイル検索機能「Spotlight」と連動したファイルシステムです。マウントされたボリューム内に適当な名前でディレクトリを作ると、その名前でのSpotlight検索結果ファイルがそのディレクトリ内に集まります[3]⁠。

おすすめ記事

記事・ニュース一覧