SSブログ

FUSE と dokan と zip と [NT]

Pismo File Mount Audit Package を使うと Windows 上で ZIP ファイルをマウントできる。ただし、read-only で。

これは Pismo Technic Inc. - Pismo File Mount Audit Package に次のように書いてある。

Most zip archive files can be mounted as read-only folders to allow access to contents, including the ability to execute contained applications. 

出来れば、書き込みが出来るものが欲しい。まぁ、これはなかなか難しそうだが。

fuse-zip - Google Code は以前この blog でも紹介したが、調べてみると書き込みも出来るようだ。ただし、非 Windows。fuse-zip のページには、

Unlike other FUSE filesystems, only fuse-zip provides write support to ZIP archives. Also, fuse-zip is faster that all known implementations on large archives with many files.

と書いてある。では、これを Windows に移植できないか。

Windows で比較的容易にファイルシステムを作る方法としては Dokan がある。これを組み合わせられないだろうかと考える。

fuse-zip を調べると、NiH: libzip が必要なことが分かる。これは、ホームページによると、

libzip is a C library for reading, creating, and modifying zip archives. Files can be added from data buffers, files, or compressed data copied directly from other zip archives. Changes made without closing the archive can be reverted.

だそうだ。また、libzip は zlib Home Site が必要。これは windows 版もあるから問題ない。

fuse-zip のソースコードの行数は 1330 行、inode 関連の部分は Windows 版では使えないだろうから、不必要になる。

libzip のソースコードの行数は 7817 行。ちょっと大きい。なぜこんなに大きいのかちょっと謎だ。

「libzip」の検索結果 - lambda {|diary| lambda { diary.succ! } }.call(hatena) なんて blog を見つけた。Zip/Ruby 0.1.0 - lambda {|diary| lambda { diary.succ! } }.call(hatena) では、windows 版の libzip も配布してらっしゃるではないか。

しかし、zlibを使ってみる を読むと、多くの処理を zlib 側で行ってくれるようなので libzip でやらなければならないことは少なそうだけど...。なぜ、libzip がこんなに大きいのだろう。

windows 版の libzip があるなら、まぁ、それほど...。後は、どれくらい需要があるかだな。


コメント(0)  トラックバック(0) 

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。