MacFUSE

提供: MacWiki
2008年4月27日 (日) 06:48時点における (トーク | 投稿記録)による版

移動: 案内検索

MacFUSE とは

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

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

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 libfuse fusefs などとすることで綺麗に取り除けます。

関連情報