TAR書庫 (.tar)

POSIX.1-1988 標準

Tape Archive (TAR) は、UnixおよびLinuxの代表的なファイルパッケージング形式であり、磁気テープバックアップやソフトウェアの配布用に設計された、複数のファイル、ディレクトリ、およびファイルシステムメタデータを単一の非圧縮ストリームにまとめます。

ZIP を TAR に変換

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

調査とメタデータ

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

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

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

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

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

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

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

75 73 74 61 72

ASCII表現: ustar

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

技術仕様

コンテナアーキテクチャSequence of 512-byte blocks: 512-byte file header followed by file data rounded up to 512 bytes, ending with two zero blocks
圧縮Uncompressed archive container (designed to be piped into gzip, bzip2, xz, or zstd)
バイトエンディアンOctal ASCII string fields; big-endian numeric extensions
色空間N/A (Archive Container)
チャンネルと構造Unix file directory tree, symlinks, hardlinks, character/block devices, and FIFO pipes
最大寸法8 GB limit in classic ustar; practically unlimited in modern PAX format
透過性Full preservation of POSIX file permissions, owner UID/GID, access times, and extended attributes
ストリーミングとプログレッシブSequential stream-oriented design: can be written directly to physical magnetic tape drives

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

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

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

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

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

復旧: 破損したブロックを無視するには「tar -i」で抽出し、またはFile2File 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)で導入。

主な利点とメリット

  • POSIXパーミッション、シンボリックリンク、ハードリンク、所有権など、完全なUnixファイルシステムの忠実性を維持。
  • テープ指向のストリーミング設計:ファイルの末尾にシークすることなく、ネットワークパイプから直接抽出可能。
  • すべてのLinuxサーバー、コンテナイメージ(Docker/OCI)、Unixソフトウェアディストリビューションにわたる普遍的な標準。

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

  • ネイティブ圧縮なし:非圧縮の.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を使用してウェブブラウザ上で直接視覚的に抽出することもできます。