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

POSIX.1 標準

Tar Gzip(.tar.gz。別名 .tgz)は、Linuxおよびオープンソース界における標準的なソフトウェア配布・アーカイブパッケージ形式であり、Unix ネイティブの TAR パッケージングと汎用的な Gzip 圧縮を組み合わせています。

調査とメタデータ

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

ここにファイルを選択またはドロップ

100%プライベートなブラウザ内変換 - ファイルがデバイスから外部に出ることはありません

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

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

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

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

1F 8B 08

ASCII表現: ..\x08

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

技術仕様

コンテナアーキテクチャPOSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container
圧縮Two-stage packaging: TAR serialization followed by DEFLATE compression
バイトエンディアンLittle-Endian gzip envelope wrapping octal POSIX tar blocks
色空間N/A (Archive Container)
チャンネルと構造Multi-file Unix directory trees, symlinks, file ownership, and permission bits
最大寸法Unbounded streaming archive size
透過性100% bit-exact lossless preservation of filesystem structures and data
ストリーミングとプログレッシブEnd-to-end pipeable streaming: decompress and extract simultaneously in a single pass

技術比較マトリックス: TAR.GZ 対 競合製品

技術属性TAR.GZ (現在)ZIP7ZTAR.BZ2
Unix パーミッション100% ネイティブな POSIX の保持制限あり / 失われることが多い基本属性のみ保持100% ネイティブな 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 アーカイブ抽出ツールまたは「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 -z」フラグを導入し、.tar.gz をデフォルトの Linux パッケージ形式として定着させる。

主な利点とメリット

  • オープンソースのソースコードリリース、Linux パッケージ、Docker コンテナレイヤーにおいて揺るぎない標準。
  • 完全な POSIX パーミッションおよびシンボリックリンクの保持と、信頼性の高い高速な Gzip 圧縮を両立。
  • 完全なストリーミング対応:一時ファイルをディスクに書き込むことなく、ネットワークパイプ経由でダウンロード、解凍、展開が可能。

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

  • 単一のファイルを抽出するには、そのファイルの場所までアーカイブ全体を解凍する必要がある。
  • .tar.xz や .tar.zst などの現代的な代替形式と比較して圧縮率が低い。
  • 汎用的な .zip ファイルと比較して、レガシーな Windows システムでは直感的ではない。

興味深い技術トリビア

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

よくある技術的な質問

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

.zipは各ファイルを個別に圧縮し、最後に中央ディレクトリを持ちます。.tar.gzは最初にすべてのファイルを1つのストリームに結合し、Linuxの完全なパーミッションとシンボリックリンクを保持します。

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

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

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

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