Tar Gzip アーカイブ (.tar.gz)

POSIX.1 標準

Tar Gzip(.tar.gz、.tgzとも呼ばれます)は、TARアーカイブとGzip圧縮を組み合わせた形式で、ソフトウェア配布やファイルのパッケージ化によく使われます。

調査とメタデータ

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してTAR.GZファイルを識別します:

ファイルを選択するか、ここにドロップしてください

プライベート - ファイルがデバイスの外に出ることはありません

または貼り付け Ctrl+V
ネットワーク送信ゼロのプライバシー保証: 外部サーバーへのデータ送信は0バイトです。すべての処理はお使いのブラウザのサンドボックス内でローカルに実行されます。

バイトレベルのヘッダーシグネチャ (マジックバイト)

オペレーティングシステムやファイル解析ツールは、先頭のバイナリ列を検査してTAR.GZファイルを識別します:

16進数シグネチャ(オフセット0):

1F 8B 08

ASCII表現: ..\x08

標準化: POSIX.1 ustar (RFC 1952 gzip wrapped)

技術仕様

コンテナアーキテクチャPOSIX ustar / GNU tarアーカイブストリームをRFC 1952 Gzip圧縮コンテナに格納
圧縮TARへのシリアライズ後にDEFLATE圧縮を行う2段階のパッケージ化
バイトエンディアン8進数のPOSIX tarブロックを包むリトルエンディアンのgzipエンベロープ
色空間該当なし(アーカイブコンテナ)
チャンネルと構造複数ファイルのUnixディレクトリツリー、シンボリックリンク、ファイル所有者、権限ビット
最大寸法ストリーミングアーカイブのサイズに上限なし
透過性ファイルシステム構造とデータをビット単位で完全に保持する可逆圧縮
ストリーミングとプログレッシブパイプを使ったエンドツーエンドのストリーミングに対応。1回の処理で展開と抽出を同時に実行

技術比較表:TAR.GZと競合製品

技術属性TAR.GZ (現在)ZIP7ZTAR.BZ2
Unix パーミッションアーカイブと展開ツールが対応するPOSIXメタデータを保存制限あり / 失われることが多い基本属性のみ保持展開ツールが対応する選択されたPOSIXメタデータ
圧縮率中程度 (Gzip DEFLATE)中程度 (ZIP DEFLATE)非常に高い (LZMA2)高い (Bzip2 BWT)
展開速度高速 (~300 MB/s)高速 (~300 MB/s)中程度 (~100 MB/s)低速 (~40 MB/s)
Linux エコシステム標準オープンソース界で広く使われる既定形式コンシューマー向けデスクトップのデフォルトWindows 愛好家の定番レガシー Linux のソースリリース

一般的な破損モードと16進数リカバリガイド

コマンドラインに「gzip: stdin: invalid compressed data--format violated」と表示される。

根本原因: Gzip カプセル内のバイト化け、またはダウンロードの途中切れ。

復旧: File2File.app アーカイブ抽出ツールまたは「tar -izxf broken.tar.gz」を使用して、部分的な復旧を試みる。

セキュリティ分析とパーサー攻撃ベクトル

TAR.GZ アーカイブは、不注意に展開すると、圧縮爆弾とパストラバーサル攻撃の両方のリスクを合わせ持ちます。

既知の攻撃ベクター

  • 小さな .tar.gz ファイルが何テラバイトものゼロに膨れ上がる、Zip 爆弾スタイルの増幅。
  • 特権ファイルを上書きするパストラバーサル(例: '../../root/.ssh/authorized_keys')。
  • root 権限での展開時に不正なデバイスノードが作成される。

防御的ベストプラクティス: 特権を持たないユーザーとしてアーカイブを抽出し、ディレクトリトラバーサルに対してすべての宛先ファイルパスをサニタイズします。

歴史的背景とマイルストーン

2015Docker コンテナ配布アーキテクチャが、レイヤー化された .tar.gz ルートファイルシステム(rootfs)画像を標準化。
1996IETF が基盤となる Gzip 仕様を RFC 1952 として標準化。
1993GNU tarに統合型の「tar -z」オプションが追加され、ファイルのパッケージ化に.tar.gzを使いやすくしました。

主なメリット

  • ソフトウェアプロジェクトは、ディレクトリ構造をTARでまとめ、ストリームをGzipで圧縮できるため、ソースアーカイブを.tar.gzとして公開することがよくあります。
  • .tar.gzのTAR層には、パーミッションやシンボリックリンクを記録できます。展開時に復元されるかどうかは展開ツールと対象OSによって異なります。別のプラットフォームで展開した後は、パーミッションを確認してください。
  • 完全なストリーミング対応:一時ファイルをディスクに書き込むことなく、ネットワークパイプ経由でダウンロード、解凍、展開が可能。

技術的な制限とデメリット

  • 単一のファイルを抽出するには、そのファイルの場所までアーカイブ全体を解凍する必要がある。
  • .tar.xz や .tar.zst などの現代的な代替形式と比較して圧縮率が低い。
  • 古いWindowsでは、広くサポートされているZIP形式より扱いにくい場合があります。

興味深い技術トリビア

  • 8.3形式のファイル名制限がある MS-DOS システムでは、「.tar.gz」は「.tgz」に短縮された。
  • 「npm install」を実行するたびに、npm はバックグラウンドで .tgz (tar.gz) パッケージをダウンロードして展開している。
  • Linux ユーザーの間では、tar.gz ファイルを展開するコマンドを覚えるための語呂合わせとして、ニーモニック「eXtract Ze File」:tar -xzf file.tar.gz が広く知られている。

よくある技術的な質問

.tar.gzと.zipの違いは何ですか?

.zipは中央ディレクトリとともにファイルを保存し、.tar.gzはTARストリームをGzipで圧縮します。メタデータが保持されるかどうかは、アーカイブと展開設定によって異なります。

.tgzは.tar.gzと同じですか?

はい。.tgzは.tar.gzの単なる3文字の省略形であり、元々はDOSのような8.3形式の短いファイル名制限を持つオペレーティングシステムのために作成されました。

Windowsで.tar.gzファイルを抽出するにはどうすればよいですか?

WinRARや7-Zipをインストールすることなく、File2File.appを使用してウェブブラウザ上で直接.tar.gzファイルを抽出できます。