MacFUSE
目次
MacFUSE とは[編集]
MacFUSE とは google が 2007 年 1 月 11 日に公開した OS X 上における FUSE (ユーザスペースで動作するファイルシステム) の実装で、カーネルエクステンションとして提供されています。FUSE を使うことで、開発者にとってはファイルシステムの開発を容易におこなうことができ、また、利用者にとっては sshfs (ssh 上で動作するファイルシステム) や ntfs-3g (読み書きが可能な NTFS) といった便利な機能が利用可能になります。 2009/5/8時点での最新安定版は 2.0.3 です。MacFUSE の詳細に関しては、以下の URL を参照してください。
- MacFUSE - A FUSE-Compliant File System Implementation Mechanism for Mac OS X
MacFUSE は OS X 10.4 以降でなければ動作しません。
導入方法[編集]
バイナリパッケージで[編集]
プロジェクトサイトに dmg ファイルがあります。
MacPorts で[編集]
MacPorts をお使いの場合は、たとえば以下のようにすることで sshfs.app を導入できます。
$ sudo port install sshfs-gui
パッケージ間の依存関係により、macfuse (カーネルエクステンションおよびユーザレベルでの開発ライブラリ) と sshfs (コマンドライン版の sshfs) もインストールされます。
sshfs 以外にも encfs, ntfs-3g, spotlightfs などのファイルシステムが ports 化されています。
ソースから[編集]
その他、ソースからインストールすることもできます。
使いかた[編集]
sshfs[編集]
sshfs のマウントに関しては、sshfs.app の GUI 上から操作するのが最も簡単かつ確実でしょう。(必要なオプション等が自動で設定されます)
コマンドラインから 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
- sshfs をプロジェクトサイトにあるバイナリパッケージから導入した場合、コマンドライン上から利用できる sshfs コマンドは /Applications/sshfs.app/Contents/Resources/sshfs-static に入ります。
シンボリックリンクを扱う場合は、以下のオプションを併せて使うと便利かもしれません。
- 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-gui sshfs macfuse などとすることで綺麗に取り除けます。