TAR ファイル形式とは?
.tar は、標準的な Unix Tape Archive 形式(「ターボール」とも呼ばれる)のファイル拡張子です。TAR ファイルは、事実上すべての最新のオペレーティングシステムでサポートされています。TAR 自体は圧縮を行わず、複数のファイルやディレクトリを1つのアーカイブにまとめ、Unix のファイル権限、所有権、シンボリックリンク、タイムスタンプを保持します。これが、Linux や Unix システムで好まれるコンテナであり続ける主な理由です。
TAR アーカイブは通常、圧縮レイヤーと組み合わされます。最も一般的な組み合わせは gzip を使用したもので、.tar.gz ファイル(file_name.tar.gz と表記、または .tgz と略記)が生成されます。その他の一般的なレイヤー形式には .tar.bz2 や .tar.xz があります。最新のアーカイブツールの多くは、解凍と展開を自動的に一括処理します。
この形式は1979年に Version 7 Unix の一部として誕生し、その後 POSIX を通じて ustar (1988) および pax (2001) 形式として標準化されました。内部的には、.tar ファイルは 512 バイトのブロックの連続です。各メンバーは、ファイル名、権限、サイズ、チェックサムを含むヘッダーブロックで始まり、その後に 512 バイトの境界までパディングされたファイルデータが続きます。2つのゼロ埋めブロックがアーカイブの終わりを示します。圧縮のオーバーヘッドがないため、TAR は高速にパックおよびアンパックでき、ほとんどのアーカイブスキャンツールで問題なく処理できます。
セキュリティと安全性
リスク: LOWTAR 形式はオープンであり、.tar 自体が実行されることはありません。ただし、アーカイブに関する標準的な注意が必要です。信頼できないソースからのターボールには、展開後にのみ明らかになるスクリプトや実行ファイルが含まれている可能性があるため、実行前に内容をスキャンしてください。TAR 特有の注意点が2つあります。悪意のある tar には '../' や絶対パスが含まれている可能性があり(「tar slip」/ パストラバーサル攻撃)、ターゲットフォルダ外にファイルを書き込む恐れがあります。信頼できないターボールは空のディレクトリに展開し、先頭のスラッシュを削除する最新の展開ツールを使用してください。また、圧縮された .tar.gz は、展開すると巨大なサイズになる「高圧縮爆弾(解凍爆弾)」である可能性があるため、不自然に小さいアーカイブには注意してください。
形式の詳細
概要TAR ファイルを開くプログラム
tar -xf file.tar(または tar -xzf file.tar.gz)を実行します。bsdtar はビルド 17063 (2018) 以降の Windows に搭載されています。 tar -xf file.tar、gzip ターボールには tar -xzf file.tar.gz、作成するには tar -cf out.tar dir/ を使用します。すべての Linux/Unix システムにプリインストールされています。 技術的詳細
詳細仕様| MIME タイプ | application/x-tar (または application/x-gtar) |
| ファイル構造 | 連続する 512 バイトのブロック。各メンバーは 512 バイトのヘッダーを持ち、その後に 512 バイト境界までパディングされたファイルデータが続く |
| 形式のバリエーション | v7 (1979, オリジナル), POSIX ustar (1988), GNU tar, POSIX pax (2001) - 長いファイル名、巨大ファイル、タイムスタンプの処理が異なる |
| 圧縮 | なし - .tar は非圧縮。外側のレイヤー (.tar.gz, .tar.bz2, .tar.xz, .tar.zst) によって圧縮が追加される |
| マジックバイト | 512 バイトヘッダーのオフセット 257 にある ASCII 文字列 "ustar"。POSIX 以前の v7 アーカイブには存在せず、ヘッダーのチェックサムによる推測で識別される |
| ヘッダーチェックサム | 512 バイトのヘッダーブロックを対象としたメンバーごとの 8 バイト ASCII 8進数チェックサム。アーカイブ全体のチェックサムや署名はない |
| 数値フィールドのエンコーディング | ASCII 8進数文字列(バイナリ整数ではない)。pax と GNU tar は、8進数の範囲を超える値に対して base-256 エンコーディングを使用する |
| アーカイブ終了マーカー | アーカイブの最後にある 2 つの連続した 512 バイトのゼロ埋め(null)ブロック |
| ファイル名の長さ | v7 では 100 バイト。ustar プレフィックスフィールドを使用すると 255 バイト。pax 拡張ヘッダーまたは GNU long-name レコードを介すと無制限 |
| ファイルごとのサイズ制限 | 標準の ASCII 8進数エンコーディングでは最大約 8 GB。pax 形式または GNU base-256 エンコーディングでは事実上無制限 |
| 保持されるメタデータ | Unix 権限(モードビット)、UID/GID 所有権、更新日時、シンボリックリンク、ハードリンク、デバイスおよび特殊ファイル |
| 暗号化 | 組み込み機能はなし。gpg などの外部ラッパーによって暗号化が適用される |
| 一般的なレイヤー拡張子 | .tar.gz / .tgz, .tar.bz2 / .tbz2, .tar.xz / .txz, .tar.zst |
| プラットフォームのサポート | Linux, Unix, BSD, macOS でネイティブサポート。Windows 10 および 11 では内蔵の tar.exe および 7-Zip などのサードパーティツールで利用可能 |
| リリース日 | 1979 (Version 7 Unix); standardized as POSIX ustar (1988) and pax (2001) |
| 最新バージョン | POSIX.1-2001 pax format; GNU tar and bsdtar (libarchive) extensions in active use |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | pubs.opengroup.org |
TAR の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。TAR ファイルについて最初の質問をしてみましょう。
よくある質問
TAR ファイルを開くにはどうすればよいですか?
tar -xf file.tar を実行します(macOS ではダブルクリックでも可能です)。Windows では、内蔵の tar -xf file.tar を使用するか、無料の 7-Zip/PeaZip(右クリック > 展開)を使用します。.tar.gz の場合は tar -xzf file.tar.gz を使用します。.tar と .tar.gz の違いは何ですか?
Windows で TAR ファイルを開くには?
tar コマンドが含まれています。ターミナルで tar -xf file.tar を実行してください。GUI を使用する場合は、無料の 7-Zip または PeaZip をインストールし、右クリック > 展開を選択します。.tar.gz の場合は、2回展開(gz、次に tar)が必要な場合があります。TAR はファイルを圧縮しますか?
なぜ .tar.gz は2回展開する必要があるのですか?
tar -xzf、PeaZip、Keka)は両方を一度に展開しますが、他のツールはまず gzip レイヤーを削除して(.tar が残る)、2回目の展開が必要になる場合があります。無料で TAR ファイルを作成できますか?
tar は Linux と macOS に標準搭載されており、Windows 10/11 にも含まれています。無料の GUI ツールである 7-Zip、PeaZip、Keka でも .tar や .tar.gz を作成できます。