archivemountというFUSEファイルシステムを利用すると、圧縮したままのtarballをファイルシステムとしてマウントすることができる。FUSEファイルシステムにはLinuxカーネルを介してアクセスするので、この方法でマウントすれば、どのアプリケーションからでもアーカイブのファイルを取り込んだり保存したりできることになる。つまり、ファイルをアーカイブに置いたまま、いつも使っているテキスト・エディターで開いたりイメージ・ビューアーで表示したり音楽プレーヤーで再生したりできるというわけだ。しかも、一部のアーカイブ形式については書き込みもでき、アーカイブにあるファイルを直接編集することも可能だ。
archivemountはソースファイルとMakefileを1つずつ含むtarballの形で配布されている。主要なディストリビューション向けに簡単にインストールできるパッケージはないかと探してみたが、見当たらなかった。
archivemountは実作業をlibarchiveに頼っているので、このライブラリーをインストールしておく必要がある。libarchiveのパッケージはUbuntu Gutsy用とopenSUSE用はあるが、Fedora用はない。コンパイルする場合は、あらかじめuudecodeをインストールしておく必要がある。今回の試用では、Fedora 8のsharutilsパッケージに含まれているものを使った。uudecodeをインストールしたら、libarchiveをビルドする。手順は標準的な「./configure; make; sudo make install」だ。
ソースまたはパッケージからlibarchiveをインストールしたら、最後にarchivemountをビルドする。makeを実行するだけだ。できあがったバイナリーを/usr/local/binにコピーし、適切なアクセス許可を設定すればインストールは完了する。FUSEファイルシステムをマウントするユーザーは、どのLinuxディストリビューションでも、グループfuseに属していなければならない。そこで、archivemountコマンドのグループもfuseにしておくとよい。こうしておけば、このツールの利用には適切なアクセス許可が必要であることを思い出すだろう。手順は、以下のようになる。
# cp -av archivemount /usr/local/bin/ # chown root:fuse /usr/local/bin/archivemount # chmod 550 /usr/local/bin/archivemount
