MacFUSE

提供: MacWiki
移動: 案内検索

MacFUSE とは[編集]

MacFUSE とは google が 2007 年 1 月 11 日に公開した OS X 上における FUSE (ユーザスペースで動作するファイルシステム) の実装で、カーネルエクステンションとして提供されています。FUSE を使うことで、開発者にとってはファイルシステムの開発を容易におこなうことができ、また、利用者にとっては sshfs (ssh 上で動作するファイルシステム) や ntfs-3g (読み書きが可能な NTFS) といった便利な機能が利用可能になります。 2009/5/8時点での最新安定版は 2.0.3 です。MacFUSE の詳細に関しては、以下の URL を参照してください。

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 を参照してください。

SpotlightFS[編集]

SporlightFS を起動すると、「SpotlightFS」というボリュームがマウントされます。 このボリューム内にディレクトリを作成すると、 作成したディレクトリ名を使って Spotlight の検索がおこなわれ、 その結果がディレクトリ中にファイルとして表示されるようになります。

ディレクトリ名には、複雑な指定を書くこともできます。 たとえば「kMDItemContentType=='com.adobe.pdf'」とすれば、 そのディレクトリ中には PDF ファイルのみが表示されるようになるでしょう。

SpotlightFS のボリュームには、デフォルトで SmarterFolder というディレクトリが用意されています。 この機能を使うと、SpotlightFS を使う際に、いちいちディレクトリを作成しなくともよくなります。 たとえば、Finder のメニューから「移動」→「フォルダへ移動 (Shift+Command+g)」を選択して、 SmarterFolder の配下ディレクトリとして好きなキーワードを入力してください。 オンデマンドに即検索をおこなうことができます。

そのほか、SpotlightFS は、OS 側の SmartFolder 機能の設定状況を自動認識し、 ボリューム中に SmartFolder アイコンとして表示する機能を持っています。

詳細については、以下のページを参照してください。

アンインストール方法[編集]

  • MacFUSE を使うファイルシステムが全てアンマウントされていることを確認します。
  • kextstat で com.google.filesystems.fusefs がロードされているかどうかを確認します。
    • ロードされていれば、sudo kextunload -b com.google.filesystems.fusefs でカーネルエクステンションをアンロードします。
  • MacFUSE をアンインストールします。MacPorts から導入したのであれば、sudo port uninstall sshfs-gui sshfs macfuse などとすることで綺麗に取り除けます。

関連情報[編集]