TAR書庫 (.tar)

POSIX.1-1988 標準

Tape Archive(TAR)はUnixやLinuxで広く使われるパッケージ形式です。ファイル、ディレクトリ、選択したファイルシステムのメタデータを非圧縮ストリームにまとめます。

ZIP を TAR に変換

無料のブラウザ内 ZIP から TAR へのコンバーター。お使いのデバイスでファイルを即座に変換します。

調査とメタデータ

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

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

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

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

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

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

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

75 73 74 61 72

ASCII表現: ustar

標準化: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

技術仕様

コンテナアーキテクチャ512バイトブロックの列。512バイトのファイルヘッダーに続き、512バイト単位に切り上げたファイルデータを格納し、2つのゼロブロックで終了
圧縮非圧縮アーカイブコンテナ(gzip、bzip2、xz、zstdへパイプで渡す設計)
バイトエンディアン8進数のASCII文字列フィールド。数値拡張部はビッグエンディアン
色空間該当なし(アーカイブコンテナ)
チャンネルと構造Unixのファイルディレクトリツリー、シンボリックリンク、ハードリンク、キャラクター/ブロックデバイス、FIFOパイプ
最大寸法従来のustarでは上限8 GB、現行PAX形式では実質的に上限なし
透過性POSIXファイル権限、所有者UID/GID、アクセス時刻、拡張属性を完全に保持
ストリーミングとプログレッシブ逐次処理を前提としたストリーム指向設計。物理磁気テープドライブへ直接書き込み可能

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

技術属性TAR (現在)ZIP7ZCPIO
ネイティブ圧縮なし(純粋なパッケージングコンテナ)内蔵Deflate圧縮内蔵LZMA/LZMA2圧縮なし(純粋なパッケージングコンテナ)
Unixパーミッションの保持選択したPOSIX属性、シンボリックリンク、UID/GID制限付きのUnixパーミッションサポート基本パーミッションの保持選択したPOSIX属性
ストリーミング抽出パイプからの完全なストリーミング抽出EOFでのセントラルディレクトリの読み取りが必要終了ヘッダーの読み取りが必要完全なストリーミング抽出
ファイルへのランダムアクセス遅い(線形シーケンシャルスキャン)インスタント(セントラルディレクトリールックアップ)中程度(インデックスルックアップ)遅い(線形シーケンシャルスキャン)

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

抽出エラー:「tar: 次のヘッダーにスキップしています」または「Xに単一のゼロブロックがあります」。

根本原因: 512バイトブロックの配置の破損、またはストリームの早期終了。

復旧: 破損したブロックを無視するには「tar -i」で抽出し、またはFile2File.app Tar Toolで修復します。

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

TAR抽出ツールは、パストラバーサル攻撃による任意のファイルの上書きを防ぐために、ファイルパスをサニタイズする必要があります。

既知の攻撃ベクター

  • 抽出中に重要なシステムファイルを上書きする「スリップ」型のディレクトリトラバーサル(例:'../etc/passwd')。
  • システムディレクトリへのシンボリックリンクを作成し、その後にファイル書き込みを行うシンボリックリンク競合状態。
  • 循環ハードリンクループによるサービス拒否。

防御的ベストプラクティス: アーカイブのファイルパスを厳格にサニタイズし、親ディレクトリの参照('..')を含むエントリをすべて拒否します。

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

2001IEEE POSIX.1-2001がPAX(Portable Archive Interchange)標準を導入し、従来の8GBのサイズ制限を撤廃。
1988IEEE POSIXが「ustar」(Unix Standard Tar)ヘッダー形式を標準化。
1979ファイルツリーを磁気テープドライブに書き込むために、Bell LabsのVersion 7 Unix(V7)で導入。

主なメリット

  • TARはUnixのパーミッション、シンボリックリンク、所有者IDを記録できます。特にWindowsや異なる権限規則のシステムで展開する場合、展開ツールがこれらの項目を復元するか確認してください。
  • テープ指向のストリーミング設計:ファイルの末尾にシークすることなく、ネットワークパイプから直接抽出可能。
  • Linuxのパッケージマネージャーやコンテナツールは、ファイルをTARアーカイブで配布することがよくあります。多くは.tar.gzまたは.tar.zstとして圧縮されています。

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

  • ネイティブ圧縮なし:非圧縮の.tarファイルは、元ファイルの合計サイズとほぼ同じ大きさになります。
  • ランダムアクセスの速度が遅い:巨大なtarballの中央から単一のファイルを抽出するには、最初からスキャンする必要があります。
  • レガシーのustarヘッダーは100文字を超えるファイル名を切り捨てていました(現代のPAX/GNU tarで解決済み)。

興味深い技術トリビア

  • マジックバイト「ustar」は、すべての512バイトヘッダーブロック内のバイトオフセット257に位置しています。
  • TARはもともと、9トラックの磁気リール式テープドライブを物理的に制御するために開発されました。
  • DockerおよびOCIコンテナイメージは、ルートファイルシステムの差分を含む標準.tarアーカイブを文字通り積み重ねたものです。

よくある技術的な質問

.tarファイルが圧縮されていないのはなぜですか?

TARは単なるアーカイバー(複数のファイルを1つのファイルにまとめるもの)であり、それ自体では圧縮を行いません。圧縮するには、gzipと組み合わせて.tar.gzファイルを作成します。

ustarとGNU tarの違いは何ですか?

Ustarは100文字のファイル名制限がある1988年のPOSIX標準であり、GNU tarは無制限のパス長とスパースファイルをサポートする拡張形式です。

Windowsで.tarファイルを開くにはどうすればよいですか?

Windows 10および11では、コマンドライン(「tar -xf file.tar」)経由でtarがネイティブサポートされています。または、File2File.appを使用してウェブブラウザ上で直接視覚的に抽出することもできます。