Sopht Square

CleanArchiver - ドキュメント

使い方

圧縮したいファイルやフォルダをアプリケーションアイコンやメインウィンドウ内にドラッグ&ドロップすると、それらを圧縮済みアーカイブとして出力します。

初期画面では各種オプションの設定が可能です。「初期値として保存」をクリックすると、設定が保存され次回以降の標準の設定とすることができます。

解凍はしませんので、OSに付属のStuffIt Expanderで行ってください。

圧縮オプション

CleanArchiver では圧縮形式を始め圧縮時にいくつかのオプションを指定することができます。

圧縮形式

使用する圧縮形式をgzip, bzip2, zip, Disk Image, StuffIt, StuffIt Xの中から選択できます。ただしStuffItおよびStuffIt Xでアーカイブを作るためには、DropStuffがインストールされている必要があります。

.DS_Store を含めない

これが有効になっているとき、出力されるアーカイブの中に.DS_Storeを含めないようにします。

アイコンファイルを含めない

これが有効になっているとき、出力されるアーカイブの中にFinderでカスタムアイコンを貼り付けたときに自動的に作られる"Icon\r"という名前のファイルを含めないようにします。

個別に圧縮

これが有効になっているとき、複数のオブジェクトがドラッグ&ドロップされた場合に、まとめてアーカイブを作るのではなく、個別にアーカイブを行います。

自動的に上書き

これが有効になっているとき、プログラムが自動的に判断した圧縮ファイル名が既に存在するものだったときに、新規ファイル名を要求するダイアログを表示せずにそのまま上書きします。

Internet-Enabled Disk Image

圧縮形式で Disk Image を選択した場合のみに有効なオプションです。これが有効になっているとき、Internet-Enabled Disk Image を作成します。

.DS_Store

.DS_Storeはウインドウの位置などの情報を記憶しているシステム管理ファイルです。どのようなタイミングで生成されるのかは私にはよくわからないのですが、Finderでいろいろと動き回っているうちに自然に作られてしまうようです。

そのようなシステムが勝手に作成するファイルであるため、Mac OS X以外のOS上ではこれは全く無意味なファイルです。これを含めたままアーカイブを作成すると、解凍したときによくわからないファイルが入っていて、アーカイブを渡した相手が混乱してしまう可能性があります。また、Mac OS X同士であったとしても、ウインドウの表示位置などが意図しない場所になってしまったりすることもあるようで、特別に背景に画像を表示したりなどの加工をしていない場合は消した方が良いようです。

Icon\r

これはフォルダにカスタムアイコンをつけたときにフォルダ内に自動的に生成されるファイルです。.DS_Storeと同様、他のOSにとっては全く無意味なファイルですので、Mac OS X以外のOS間でファイルを交換する可能性がある場合には削除しておいた方が混乱がなくて良いと思います。

ただしこれを消してしまうとフォルダにつけたアイコンが消失してしまうので、Mac OS Xとのみファイルをやり取りすることがわかっている場合で、アイコンを付けたままにしておきたい場合は、削除せずに残しておいてください。

リソースフォーク

リソースフォークはMac OSに固有の(より正確にはHFSに固有の)、データ本体以外の情報を格納しておくことのできる領域のことです。たとえばファイルにカスタムアイコンを貼り付けて、リソースフォークを保持したまま別のMacにファイルを移動させると、やはりカスタムアイコンで表示されます。このときに貼り付けた画像を一緒に移動させなくても、カスタムアイコンは表示されます。これはなぜかというと、ファイル自体が内部に画像の情報を持っているからです。

このとき、カスタムアイコン自体は実データとは無関係であり、このアイコン情報が実データ内に含まれるようなことになると取り扱いが面倒であるために、そのような付加的なデータはリソースフォークに、実データはデータフォークにそれぞれ保存されます。

ところでこのような付加的なデータを利用できるのはMac OSだけであるため、リソースフォークつきのデータを他のOSに持ち込んでも、リソースフォークは無視されデータフォークだけしか扱われません。そのため他のOSに持ち込むデータを含むアーカイブには、そもそもリソースフォーク自体意味を成さないので、消失させてしまってもおそらく支障はありません。むしろ無意味なデータでファイルの容量を増大させるよりは消してしまった方が良いと思います。

最近はMac OSにおいてもできるだけリソースフォークを利用しないようにする方針なようなのですが、一部のファイルやアプリケーションはこのリソースフォーク内に重要なデータを保持することがあります。そのようなファイルをリソースフォークを保持できない圧縮形式で圧縮してしまうと、解凍したときに元のファイルの内容を取り戻せなくなってしまう可能性があるので注意が必要です。

最近はリソースフォークを利用するアプリケーション自体減りつつあるので、基本的にはリソースフォークを保持しない圧縮形式を利用しても大丈夫だと思うのですが、万が一データを消失することを防ぐためにも、不安な場合には実際に圧縮してみてデータの損失がないかどうかを確認してみることをお勧めします。

確認方法は単純に、gzipなどで圧縮したあと解凍し、そのファイルを開き直してみてください。リソースフォークを必要とするファイルはこの時点で開くことができないか意味のわからないデータに変わってしまうはずです。普通に開けているようならアプリケーションがリソースフォークを利用していないと思われるので、リソースフォークを保持しない形式で圧縮しても大丈夫です。その他クリエータ(どのアプリケーションで作られたファイルかを表す情報)や、カスタムアイコンが消失するなどのFinderレベルのデータ損失もありますので、それが重要ならリソースフォークは保存した方が良いでしょう。ただし内部データに支障がないならリソースフォークを消した方がファイル容量も減少するのでいい場合もあります。

圧縮形式

私のやや主観的な圧縮形式ごとの特徴です。互換性というのは他のOSで容易に解凍できるかどうかという意味です。

個人的にはリソースフォークが不要ならバランスのいいgzipが、リソースフォークが必要ならおそらくMac OS間でのやりとりになるのでしょうから、シェアウェアのDropStuffが不要なDisk Imageがお勧めです。

圧縮形式 圧縮率 速度 互換性 リソースフォーク
gzip 高い 速い 高い 損失
bzip2 とても高い 遅い 中間 損失
zip 低い とても速い とても高い 損失 (*)
Disk Image 低い とても遅い とても低い 保持
StuffIt 高い 速い 低い 保持
StuffIt X とても高い 遅い 低い 保持

(*) PantherのFinderの「アーカイブを作成」では保持可能。ただし実装はやや特殊。

仕様

基本的にCleanArchiverはアーカイバを内蔵せずに、外部のアーカイバ(主にMac OS Xに標準で入っている)を呼び出すことで圧縮を行っています。そのため、アーカイブに問題がありそうなときはCleanArchiver自身に問題がある可能性は低く、圧縮形式自身の仕様であることが多いと思います。

また、そのような方針のため、CleanArchiverの圧縮形式が増える可能性は低いです。そのかわりに、もしも外部にアーカイバがインストールされている場合に、それを利用できるようにする仕組みは作りたいと思っています。

バグ

Special Thanks

作者

あにゃきち <anyakichi@sopht.jp>