GZ ファイル形式とは?
.gz ファイルは、GNU zip (gzip) ツールによって作成される圧縮ファイルです。この形式は、UNIXシステムで使用されていた古い .Z 圧縮に代わる特許フリーの代替手段を作成することを目的として、GNUプロジェクトのために Jean-loup Gailly と Mark Adler によって開発されました。.gz ファイルはヘッダーに元のファイル名や更新日時などの有用なメタデータを保存しており、圧縮プロセス中にファイル名が変更された場合に役立ちます。
.gz 圧縮はどこで使用されますか?
.gz 形式のファイルは、Unixベースのオペレーティングシステム用のソフトウェアパッケージやインストーラーで一般的によく見られます。インストーラー以外では、Webサーバー上のHTML、CSS、JavaScriptなどのテキストリソースを圧縮してWebページの読み込みを高速化するためにも頻繁に使用されます。とはいえ、この圧縮手法は通常のデータアーカイブにも使用されるため、WindowsやmacOSのユーザーも .gz ファイルに遭遇することがあります。
.gz 圧縮の詳細
.gz 圧縮方式には1つの重要な特徴があります。それは、1つのアーカイブに1つのファイルしか含めることができないという点です。この制限を回避する標準的な方法は、まず tar アーカイブツールを使用して複数のファイルを1つにまとめ、その結果を圧縮することです。これにより、.tar.gz または .tgz ファイルが作成されます。この2段階のアプローチは、LinuxやmacOSでソフトウェアのソースコードを配布するための事実上の標準となっています。
セキュリティと安全性
リスク: LOWgzip 形式はオープンで安全であり、.gz はそれ自体では実行できない単なる圧縮データです。ただし、アーカイブ全般に言える注意点として、信頼できないソースからの .gz/.tar.gz には展開後にのみ明らかになる実行ファイルやスクリプトが含まれている可能性があるため、実行前に内容をスキャンしてください。技術的な注意点として2点:極端に小さい .gz ファイルが巨大なサイズに展開される「高圧縮爆弾(解凍爆弾)」の可能性があるため、不自然に小さなアーカイブには注意してください。また、.tar.gz には「../」を含むパス(ディレクトリトラバーサル/tar slipのリスク)が含まれる可能性があります。現代の展開ツールはこれを防ぎますが、信頼できないターボールは空のフォルダに展開するようにしてください。
形式の詳細
概要GZ ファイルを開くプログラム
gunzip file.gz。ターボールの場合:tar -xzf file.tar.gz。ほぼすべての Linux/Unix システムにプリインストールされています。 技術的詳細
詳細仕様| マジックバイト | オフセット0に `1F 8B`、続いて `08` (DEFLATE メソッドバイト) |
| 圧縮アルゴリズム | DEFLATE (RFC 1951); メソッドバイト `08` が実用されている唯一の値です |
| MIMEタイプ | `application/gzip` |
| ストリームあたりのファイル数 | 1つ - `.gz` は1ストリームにつき単一の入力ファイルを圧縮します |
| ヘッダーメタデータ | 元のファイル名 (FNAME フラグ) とソースファイルの最終更新タイムスタンプを保存します |
| 整合性チェック | 非圧縮データの CRC-32 チェックサム。8バイトのトレーラーに書き込まれ、展開時に検証されます |
| サイズフィールド | トレーラー内の4バイトの ISIZE。元の非圧縮サイズを 2³² で割った余り(modulo)を保持します |
| 圧縮レベル | 9段階(1 = 最速/最低圧縮、9 = 最遅/最高圧縮)。デフォルトはレベル6です |
| HTTPコンテンツエンコーディング | HTTP/1.1 において Web レスポンスを動的に圧縮するための `gzip` Content-Encoding として使用されます |
| ストリームの結合 | 複数の `.gz` ストリームを結合できます。`gunzip` はそれらを単一の連続した出力として解凍します |
| OS識別 | ヘッダー内の1バイトの OS フィールド(例:`03` = Unix, `00` = FAT)が作成元のシステムを識別します |
| ヘッダーフラグ | フラグバイトがオプションフィールド(FNAME, FCOMMENT, FEXTRA, FHCRC(ヘッダー CRC-16 チェック))を制御します |
| 暗号化 | 組み込みの機能はありません。この形式にはパスワード保護や暗号化メカニズムは存在しません |
| 複数ファイルの慣例 | まず `tar` を使用してファイルをまとめ、次に圧縮します:`tar czf archive.tar.gz files/` は `.tar.gz` ターボールを生成します |
| ストリーミング設計 | 単一のフォワードパスで圧縮します。開始前に全入力サイズを知る必要はありません |
| リリース日 | 1992 (gzip 1.0); format standardized as RFC 1952 (1996) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | www.rfc-editor.org |
GZ の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。GZ ファイルについて最初の質問をしてみましょう。
よくある質問
GZファイルを開くにはどうすればよいですか?
gunzip file.gz を実行するか、ターボールの場合は tar -xzf file.tar.gz を実行します。.gz と .tar.gz の違いは何ですか?
WindowsでGZファイルを開くにはどうすればよいですか?
無料でGZファイルを作成できますか?
gzip/tar が標準で組み込まれています。期待していたのにGZファイルの中にファイルが1つしかないのはなぜですか?
.tar.gz を1ステップで展開するにはどうすればよいですか?
tar -xzf archive.tar.gz を使用します。GUIでは、PeaZip、Keka、Ark、File Roller などが、1回の展開操作で gzip と tar の両方のレイヤーを自動的に解除します。