圧縮形式の選び方
4つの形式、本質的に異なる3つの設計、そして無料ソフトでは作成が許されていない形式が1つ。どれを選ぶべきかは、ほぼ「誰が開くか」で決まります。
最終確認日:
結論から
人に送るなら:ZIP。 今世紀に作られたWindows・macOS・Linuxのマシンなら、何もインストールせずに開けます。これはどんな圧縮率の差よりも価値があり、そう言える形式はZIPだけです。
Unixでディレクトリ構造をバックアップ・移動するなら:tar.gz。 パーミッション、所有者、シンボリックリンクを記録でき、一般的な形式でこれをきちんと扱えるのはtarだけです。しかもZIPより小さく圧縮できます。
とにかく小さくしたいなら:7z。 ほとんどのデータでZIPよりかなり小さくなり、AES-256暗号化では中身だけでなくファイル名も隠せます。受け取る側には無料のソフトが必要で、その分ひと手間かかります。
RAR:ほぼ間違いなく必要ありません。 もし必要でも、RARを作れるのはWinRARだけです。いちばん多く寄せられる疑問なので、理由は後ほど説明します。
tar.gzがZIPより小さくなる理由
違いは圧縮アルゴリズムの優劣ではなく、構造にあります。ZIPはファイルを1つずつ個別に圧縮します。 だからこそ、大きな圧縮ファイルからほかに触れずに1つだけ取り出せるのです。.tar.gzはすべてを1本の連続したストリームとして圧縮します。 tarがファイルをつなぎ合わせ、gzipがその全体を包みます。
つまり、tarを圧縮したものはファイル間の繰り返しを活用でき、ZIPにはそれができません。似たようなソースファイル、設定ファイル、ログファイルが50個入ったフォルダーなら、差はかなり大きくなります。互いに関係のない写真のフォルダーなら差はゼロです。どちらもすでに圧縮されたデータはそれ以上圧縮できないからです。
その代償は、展開する側で払うことになります。全体をまとめて圧縮しているため、.tar.gzには目録がありません。 中身の一覧を見るだけでも先頭から展開する必要があり、最後のファイルを取り出すには全体を展開しなければなりません。ZIPならどんなサイズでも一覧は一瞬で表示されます。どちらが優れているかは、圧縮ファイルを丸ごと展開するかどうかで決まります。バックアップやソースのリリースなら、必ず丸ごと展開します。
圧縮できるもの、できないもの
これはいちばん役に立つ知識で、どの形式にも当てはまります。すでに圧縮されたファイルは、それ以上圧縮できません。 JPEG、PNG、MP3、MP4、PDF、そしてほかの圧縮ファイルは、すでに繰り返し部分が取り除かれています。どんな圧縮ツールにかけても、時間がかかるだけで1%にも満たない効果しかありません。
ですから、写真50枚のZIPはほぼ写真50枚分のサイズになります。これは失敗ではなく、形式が正しく機能している結果です。写真をまとめる理由は、50個ではなく1つのファイルで送れるようにすることです。圧縮が本領を発揮するのは、テキスト、文書、ソースコード、スプレッドシート、非圧縮の画像で、3分の1以下になることも珍しくありません。
裏を返せば、メディアファイルのフォルダーのために強力な形式を選んでも無駄だということです。7zはソースコードならZIPを大きく上回りますが、写真ライブラリではほとんど差が出ません。
無料ツールでRARを作れない理由
RARには所有者がいます。RarLabがライセンスを管理し、WinRARは有料ソフトです。そして、RARを作成できる唯一のソースコードのライセンスは、互換性のある圧縮ツールの開発に使うことを明確に禁じています。「推奨しない」ではなく「禁止」です。しかも書面で、利用の中心的な条件として定められています。
展開については、あえて扱いが異なります。RarLabは誰でもこの形式を読み取るために使えるunrarのソースコードを公開しています。だから7-Zip、The Unarchiver、VLC、そしてこのサイトも、まったく正当にRARファイルを開けるのです。開くことは許可され、作ることは許可されていない。この非対称性こそが、どの圧縮ソフトでもRARを展開できるのに、作成できるのが1つしかない理由です。
ですから、Webサイトが「ZIP RAR変換」をうたっているなら、起きているのは次の3つのどれかです。 .zipの拡張子を.rarに変えているだけで、ごまかせるのはファイル一覧の表示だけ。サーバー上でライセンスを受けたWinRARを動かしていて、あなたのファイルは見知らぬ誰かのマシンに送られている。あるいは、進行状況バーの裏で何もしていない。4つ目の可能性はありません。
どうしてもこの拡張子が必要なシステムなら、WinRARを購入してください。RARが求められる本来の目的、つまり高圧縮、分割圧縮、強力な暗号化、リカバリーレコードについては、7-Zipのほうが優れていて、しかも無料です。
パスワードと、避けるべき方式
ZIPには2種類の暗号化方式があり、その違いは非常に重要です。昔からあるZipCryptoは破られています。 復元ツールを使えば数秒で解読でき、それでも驚くほど多くの「ZIPにパスワードをかける」ツールが黙ってこの方式を使っています。AES-256のZIPは安全で、現在の7-ZipやWinZipで暗号化を指定するとこちらが使われます。
強力な暗号化でも、もう1つ落とし穴があります。一般的な暗号化ZIPは目録が読める状態のままなので、ファイルを持っている人なら誰でも、パスワードなしで中に何が入っているかを正確に見られます。文書のファイル名は、中身と同じくらい多くを物語ることがよくあります。7zならヘッダーも暗号化でき、このオプションはぜひオンにしておくべきです。
このサイトでは、あえて圧縮ファイルのパスワード保護を提供していません。破られた方式を提供するのは、保護しているように見えてしまう分、何も提供しないより悪いからです。本当にプライベートな圧縮ファイルが必要なら、7-ZipでAES-256とヘッダー暗号化を使ってください。
ダウンロードでは元に戻せないもの
ソースのリリースやバックアップをブラウザで展開する前に知っておきたいことです。Unixのパーミッション、所有者、シンボリックリンクはtarに記録されていますが、ダウンロードでは復元できません。 ファイルは通常のパーミッションで保存されるため、実行可能なスクリプトは実行できない状態になり、シンボリックリンクは実体である小さなファイルとして出てきます。
何もインストールできないマシンで文書を読んだり画像を取り出したりするなら、ここで開くのが最適です。ビルドや実行に使うものを展開するなら、コマンドラインを使ってください。tar -xzfはすべてのMacとLinuxマシンに入っており、Windowsでも2018年から使えます。
よくある質問
ZIPにしてもほとんど小さくならないのはなぜですか?
中に入れたものが写真、音楽、動画、PDFなど、すでに圧縮されたファイルだったからです。これらの形式は自身の繰り返し部分をすでに取り除いているため、圧縮ソフトが見つけられるものが残っていません。それでも、多数のファイルを1つにまとめられる点で圧縮ファイルは役に立ちます。
7zを人に送っても大丈夫ですか?
形式としては問題ありません。問題は相手が開けるかどうかです。Windowsなら7-Zipが無料で、macOSならThe UnarchiverやKekaで開けます。ただしひと手間かかるので、相手が詳しくない場合はZIPにすればそのやり取り自体が不要になります。
.tar、.tar.gz、.tgzの違いは何ですか?
.tarは非圧縮で、ファイルをメタデータとともにつなぎ合わせただけのものです。.tar.gzはそれをgzipで圧縮したもので、.tgzは同じものを、ドットが2つある名前を嫌うシステム向けに短くした名前です。ほかに.tar.bz2や.tar.xzもあり、より強力に、より時間をかけて圧縮します。
WinRARなしでRARを開けますか?
はい、簡単に開けます。7-Zip、The Unarchiver、Keka、さらにはVLCでもRARファイルを読み取れますし、このサイトでも開けます。制限されているのは作成だけです。
パスワード付きZIPは本当に安全ですか?
AES-256なら安全です。ただし、ヘッダーを暗号化する形式を使わない限り、ファイル名は読める状態のままです。旧式のZipCrypto(今も一部のツールが断りなく使っています)なら安全ではありません。保護ではなく、ちょっとした障害程度に考えてください。