zipファイル中毒 #51

公開日: 2013-11-03


自分のホームディレクトリを整理していると、「たぶんこれもう不要なんだけど念のためにとっておくかなあ」という類いのファイルが多いことに気づいた。古いプログラムとか、古い論文の原稿といったもので、これらのファイルは二度と使うことはなさそうだけど、消すのはためらってしまう。

こういったファイルは私のホームディレクトリに長年にわたって生息しており、古くは1999年のタイムスタンプのものもあった。数々のハードディスク(最近はSSD)を転々として現在の住処にやってきたわけだ。

この古株たちは今後もおそらくホームディレクトリに居座り続けると予想されるが、使わないファイルがホームディレクトリに大量にあるのは気分が悪い。実際問題として、データを別のディスクに移動するとき、この連中をコピーするのは結構、時間がかかる。

消すのはいやだけど、ファイルがたくさんあるのもいやだ、というわけで、これらのファイルはプロジェクト(プロジェクトはディレクトリごとに分かれている)の最終更新日をもとに、年ごとに zip でまとめてみることにした。1999年のプロジェクトは 1999.zip、2000年のファイルは 2000.zip といったように。圧縮効率という点では tar.xz あたりの方がいいはずが、汎用性が高いという理由で zip にした。

この結果、プログラムや原稿などをまとめていた work というディレクトリは大幅にファイルが減った。2010年までの古いプロジェクトを対象として、14,000 ものファイルが 1999.zip 〜 2010.zip という12個のファイルにまとめられた。これはすっきり!

これに気を良くして、他のファイルもどんどん zip でまとめてみることにした。たとえば、古い写真だ。写真の JPGファイルは zip で圧縮する効果はほとんどないが、通常、大量のファイルをコピーするよりは、一つの大きいファイルをコピーする方が速いので(個々のファイルのメタデータをファイルシステム上で管理する必要がないから)、まとめる価値はある。それに、前述の通り、ファイルの数が減るのは気分がいい。

そんなわけで、じゃんじゃんと zip ファイルを作っていたら、ひとつ問題に遭遇した。せっかく作った zip ファイルが開けないのだ!これは焦った。

調べてみると、4GB を超える zip ファイルを扱うには ZIP64 というスペックをサポートする必要があり、Mac OS X Mavericks の場合、圧縮する方の zip コマンドは ZIP64 に対応しているが、展開する方の unzip の方はなぜか対応していないのであった。

この問題は UnZip 6.0 を http://www.info-zip.org/ からダウンロードして、自分でビルドすることで解決した。が、こういう問題があるなら、 zip ファイルを選択したのは間違いだったかもしれない。汎用性の高さを期待したが、古いフォーマットはそれはそれで問題があるのであった。。

Satoru Takabayashi