MacFUSE
目次
MacFUSE とは
MacFUSE とは google が 2007 年 1 月 11 日に公開した OS X 上における FUSE (ユーザスペースで動作するファイルシステム) の実装で、カーネルエクステンションとして提供されています。FUSE を使うことで、開発者にとってはファイルシステムの開発を容易におこなうことができ、また、利用者にとっては sshfs (ssh 上で動作するファイルシステム) や ntfs-3g (読み書きが可能な NTFS) といった便利な機能が利用可能になります。 最新バージョンは 1.3.1 です。MacFUSE の詳細に関しては、以下の URL を参照してください。
- MacFUSE - A FUSE-Compliant File System Implementation Mechanism for Mac OS X
MacFUSE は OS X 10.4 以降でなければ動作しません。
導入方法
バイナリパッケージで
プロジェクトサイトに dmg ファイルがあります。現在は sshfs.app がありますのでそれを用いるのもよいでしょう。
MacPorts で
MacPorts をお使いの場合は、たとえば以下のようにすることで sshfs を導入できます。 パッケージ間の依存関係により、fusefs(カーネルエクステンション)と libfuse(ユーザレベルでの開発ライブラリ)もインストールされます。 sshfs 以外のファイルシステムに関しても、順次追加される予定のようです。
$ sudo port install sshfs
ソースから
その他、ソースからインストールすることもできます。
使いかた
sshfs
バイナリパッケージで sshfs.app をインストールした場合は、GUI 上から操作することができます。 また、この場合、コマンドライン版の sshfs コマンドは /Applications/sshfs.app/Contents/Resources/sshfs-static に入ります。
コマンドラインから sshfs のマウント/アンマウントをおこなうには、以下のようにします。
$ cd $ mkdir mnt $ sshfs youraccount@yourhost: mnt -oreconnect,ping_diskarb,volname=MyVolume $ df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/disk2s10 244046064 113013844 130776220 46% / devfs 108 108 0 100% /dev fdesc 1 1 0 100% /dev <volfs> 512 512 0 100% /.vol automount -nsl [178] 0 0 0 100% /Network automount -fstab [187] 0 0 0 100% /automount/Servers automount -static [187] 0 0 0 100% /automount/static /dev/disk1 38813024 11274360 27538664 29% /Volumes/Untitled RAID Set 1 sshfs#youraccount@yourhost: 1048576000 0 1048576000 0% /Users/foobar/mnt $ umount mnt
シンボリックリンクを扱う場合は、以下のオプションを併せて使うと良いでしょう。
- follow_symlinks
サーバー側のシンボリックリンクを実ファイル/ディレクトリのように扱う。ls コマンドと相性が悪い。マウントポイントよりも上位のディレクトリツリーも、権限があれば参照することができる。
- transform_symlinks
リモートディスク上の絶対パスのシンボリックリンクを相対パスに変換して、リンクを違和感なく辿れるようにする。
詳しくは、以下の URL を参照してください。
- The SSH File System for MacFUSE
- SSH Filesystem
SpotlightFS
SporlightFS を起動すると、「SpotlightFS」というボリュームがマウントされます。 このボリューム内にディレクトリを作成すると、 作成したディレクトリ名を使って Spotlight の検索がおこなわれ、 その結果がディレクトリ中にファイルとして表示されるようになります。
ディレクトリ名には、複雑な指定を書くこともできます。 たとえば「kMDItemContentType=='com.adobe.pdf'」とすれば、 そのディレクトリ中には PDF ファイルのみが表示されるようになるでしょう。
SpotlightFS のボリュームには、デフォルトで SmarterFolder というディレクトリが用意されています。 この機能を使うと、SpotlightFS を使う際に、いちいちディレクトリを作成しなくともよくなります。 たとえば、Finder のメニューから「移動」→「フォルダへ移動 (Shift+Command+g)」を選択して、 SmarterFolder の配下ディレクトリとして好きなキーワードを入力してください。 オンデマンドに即検索をおこなうことができます。
そのほか、SpotlightFS は、OS 側の SmartFolder 機能の設定状況を自動認識し、 ボリューム中に SmartFolder アイコンとして表示する機能を持っています。
詳細については、以下のページを参照してください。
- The Spotlight File System for MacFUSE
アンインストール方法
- MacFUSE を使うファイルシステムが全てアンマウントされていることを確認します。
- kextstat で com.google.filesystems.fusefs がロードされているかどうかを確認します。
- ロードされていれば、sudo kextunload -b com.google.filesystems.fusefs でカーネルエクステンションをアンロードします。
- MacFUSE をアンインストールします。MacPorts から導入したのであれば、sudo port uninstall sshfs libfuse fusefs などとすることで綺麗に取り除けます。