ZIPをTAR.GZに

ZIPをオンラインでTAR.GZに変換——Linux互換のため。GZIP圧縮を使ったUnix標準のアーカイブを作成。クロスプラットフォームでのファイル共有に最適です。

PDF

またはファイルをここにドラッグ&ドロップ

PDFファイルをアップロード

高速変換安全な処理登録不要

ZIPをオンラインでTAR.GZに変換

ZIPアーカイブをUnix/Linux互換のTAR.GZ形式に変換します。TAR.GZ(.tgzとも呼ばれます)はUnixの世界で標準的なアーカイブ形式で、ソフトウェア配布、システムバックアップ、サーバー展開によく使われます。

本ツールはZIPの内容を展開し、GZIP圧縮を使ったTARアーカイブに再構成します。変換の過程で、すべてのファイル、フォルダ、ディレクトリ構成は保持されます。

ZIPをTAR.GZに変換する理由

  • Linux/Unix互換性 — TAR.GZはUnixシステムのネイティブ形式で標準対応
  • 権限の保持 — TARはUnixのファイル権限や所有者属性を維持
  • サーバー展開 — Linuxサーバーへのアプリケーション展開に最適な形式
  • ソフトウェア配布 — オープンソースプロジェクトのリリースで標準的に使用される形式
  • パッケージ管理 — 多くのパッケージマネージャーがTAR.GZ形式を想定

TAR.GZ形式について

TAR.GZは2つのユーティリティを組み合わせたものです。複数ファイルを1つのアーカイブにまとめるTAR(Tape Archive)と、圧縮を行うGZIPです。TARは1979年にUnixシステム向けに作られ、権限、タイムスタンプ、シンボリックリンクといったファイルのメタデータを保持することに優れています。GZIPはDEFLATEアルゴリズムによる効率的な圧縮を加えます。

アーカイブ化と圧縮を一体で行うZIPとは異なり、TAR.GZはこれらの役割を分離しています。この設計により、同じTARアーカイブに対して異なる圧縮方式(GZIP、BZIP2、XZ)を選べます。

よくある用途

  • Web展開 — サイトのファイルをLinuxホスティングサーバーにアップロード
  • コード配布 — Unix開発者とソースコードを共有
  • バックアップ転送 — WindowsとLinuxのシステム間でバックアップを移動
  • Dockerコンテキスト — コンテナ化のためのビルドコンテキストを準備

変換の仕組み

ZIPをTAR.GZに変換する際は、ZIPアーカイブの内容を展開し、GZIP圧縮を施したTARコンテナに再構成します。TAR形式はファイルをメタデータヘッダー付きで順番に格納し、その後GZIPがストリーム全体をDEFLATEアルゴリズム(ZIPが個々のファイルに使うのと同じアルゴリズム)で圧縮します。

重要な違いは、TAR.GZがアーカイブ全体を1つのストリームとして圧縮するのに対し、ZIPは各ファイルを個別に圧縮する点です。これによりTAR.GZはファイル間の重複を見つけられるため、似たファイルが多いアーカイブではわずかに高い圧縮率を実現できる場合があります。

TAR.GZファイルの構造

TAR.GZファイルは実際には2層構造です。すべてのファイルとディレクトリを含むTARアーカイブが、GZIP圧縮で包まれています。TARはファイル名、サイズ、権限、タイムスタンプを含む512バイトのヘッダーを付けてファイルを順に格納し、GZIPがこのストリーム全体をDEFLATEアルゴリズムで圧縮します。

この2層構造により、GZIPが個々のファイルを独立に圧縮するのではなく、すべてのファイルにまたがる重複を見つけられるため、似たファイルが多いアーカイブではTAR.GZがZIPより高い圧縮率を実現できます。ただし、個々のファイルにアクセスするにはアーカイブの先頭から展開する必要があります。

デプロイのシナリオ

Web開発者は、Linuxホスティングへのデプロイ時にZIPをTAR.GZに変換することがよくあります。Windows上でローカルにZIPを作成し、TAR.GZに変換したうえで、標準的なUnixコマンドでサーバーにアップロードして展開します。展開時に設定されるファイル権限により、Webサーバーがコンテンツを正しく読み取り、スクリプトを正常に実行できます。

Dockerのビルドでは、ソースアーカイブをTAR.GZに変換することでDockerfile内のCOPY操作が簡単になります。多くのCI/CDパイプラインはTAR.GZ形式の成果物を想定しています。Windowsのビルドシステムで作成したZIPアーカイブをTAR.GZに変換すれば、Linuxベースのデプロイ基盤とスムーズに連携できます。

クロスプラットフォームの互換性

TAR.GZは、Linux、macOS、BSD、SolarisなどUnix系システム全般で標準的にサポートされています。tarとgzipのユーティリティは、これらのプラットフォームのほぼすべてにあらかじめインストールされています。WindowsユーザーはWindows 10/11の標準ツール、それ以前のバージョンでは7-ZipやWinRARを使ってTAR.GZファイルを展開できます。

クロスプラットフォームのプロジェクトでは、配布物としてZIP(Windowsユーザー向け)とTAR.GZ(Unixユーザー向け)の両方を用意することを検討してください。これにより、すべてのユーザーが追加ソフトなしに、それぞれの環境に合ったツールでファイルを利用できます。

サーバー管理での用途

システム管理者は、設定ファイルのバックアップ、ログアーカイブ、アプリケーション展開でTAR.GZをよく利用します。この形式は、サーバーの正常な動作に欠かせないファイル権限(rwx)、所有者情報(ユーザー/グループ)、特殊なファイル種別(シンボリックリンク、デバイスファイル)といった重要なUnix属性を保持します。

WebアプリケーションをLinuxサーバーに展開する際、TAR.GZを使えば実行可能なスクリプトの権限や設定ファイルの所有者情報を正しく保てます。これにより、展開後のファイル権限が誤って設定されアプリケーションが動作しなくなるといった、よくあるデプロイの問題を防げます。

関連ツール

よくある質問

Linux向けにZIPをTAR.GZに変換する理由は?

TAR.GZはLinuxとUnixシステムのネイティブなアーカイブ形式です。LinuxはZIPファイルも展開できますが、TAR.GZはZIPでは正しく保存されないことがあるUnixのファイル権限、シンボリックリンク、所有者情報を保持します。

TAR.GZはZIPより小さくなりますか?

ほとんどのコンテンツにおいて、TAR.GZの圧縮率はZIPと同程度です。主な違いはサイズよりも形式の互換性にあります。Linuxへのデプロイにはtar.gz、クロスプラットフォームでの配布にはZIPを選んでください。

WindowsでTAR.GZファイルを展開できますか?

Windows 10と11は標準ツールでTAR.GZを展開できます。それより古いバージョンでは7-ZipやWinRARなどのソフトが必要です。受け取る側が古いWindowsを使っている場合は、ZIPの方が便利かもしれません。

TAR.GZはファイル権限を保持しますか?

はい、TAR形式はUnixの権限、所有者情報、タイムスタンプを保存します。そのためTAR.GZは、ファイル権限がセキュリティや動作に影響するLinuxサーバーへのソフトウェア展開に欠かせません。

TAR.GZとTAR.XZ、どちらを使うべきですか?

TAR.XZはより高い圧縮率を実現しますが、処理は遅くなります。TAR.GZは良好な圧縮率と速い展開を両立します。頻繁にアクセスするアーカイブにはTAR.GZ、ファイルサイズが重要な場合はTAR.XZを使ってください。

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

両者は同一のものです。.tgzは.tar.gzを短くした拡張子にすぎません。古いシステムの中には3文字の拡張子を好むものもありました。どちらの形式も、中身は同じgzip圧縮のtarアーカイブです。