Che cos'è il formato di file GZ?
Un file .gz è un file compresso prodotto dallo strumento GNU zip (gzip). Il formato è stato sviluppato da Jean-loup Gailly e Mark Adler per il Progetto GNU, con l'obiettivo di creare un sostituto privo di brevetti per la vecchia compressione .Z utilizzata sui sistemi UNIX. I file .gz memorizzano metadati utili nella loro intestazione - il nome del file originale e un timestamp di modifica - che possono essere d'aiuto se il file viene rinominato durante il processo di compressione.
Dove viene utilizzata la compressione .gz?
I file in formato .gz si incontrano comunemente nei pacchetti software e negli installer per sistemi operativi basati su Unix. Oltre agli installer, il formato .gz è spesso utilizzato per comprimere risorse di testo come HTML, CSS e JavaScript sui server web, il che facilita il caricamento più rapido delle pagine web. Tuttavia, questo metodo di compressione è utilizzato anche per l'archiviazione regolare dei dati, quindi i file .gz possono essere incontrati anche dagli utenti Windows e macOS.
Dettagli sulla compressione .gz
Il metodo di compressione .gz ha una caratteristica importante: un archivio può contenere un solo file. Il modo standard per aggirare questa limitazione è raggruppare prima più file utilizzando lo strumento di archiviazione tar, quindi comprimere il risultato - producendo un file .tar.gz o .tgz. Questo approccio in due fasi è lo standard de-facto per la distribuzione del codice sorgente del software su Linux e macOS.
Sicurezza e incolumità
RISCHIO: LOWIl formato gzip è aperto e sicuro, e un .gz è solo un insieme di dati compressi che non possono essere eseguiti da soli. Si applica la consueta cautela per gli archivi: un .gz/.tar.gz proveniente da una fonte non attendibile può contenere eseguibili o script che vengono rivelati solo dopo l'estrazione, quindi scansiona i contenuti prima di eseguire qualsiasi cosa. Due note tecniche: file .gz estremamente piccoli possono espandersi in dimensioni enormi («bombe di decompressione») - diffida di archivi sospettosamente minuscoli; inoltre un .tar.gz può contenere percorsi con «../» (rischio di path-traversal/«tar slip») - gli estrattori moderni proteggono da questo, ma estrai sempre i tarball non attendibili in una cartella vuota.
Dettagli del formato
in sintesiProgrammi che aprono file GZ
gunzip file.gz. Tarball: tar -xzf file.tar.gz. Preinstallato su quasi tutti i sistemi Linux/Unix. Dettagli tecnici
specifiche approfondite| Magic bytes | `1F 8B` all'offset 0, seguito da `08` (byte del metodo DEFLATE) |
| Algoritmo di compressione | DEFLATE (RFC 1951); il byte del metodo `08` è l'unico valore utilizzato in pratica |
| Tipo MIME | `application/gzip` |
| File per flusso | Uno - `.gz` comprime un singolo file di input per flusso |
| Metadati dell'intestazione | Memorizza il nome del file originale (flag FNAME) e il timestamp dell'ultima modifica del file sorgente |
| Controllo di integrità | Checksum CRC-32 dei dati decompressi, scritto nel trailer di 8 byte e verificato all'estrazione |
| Campo dimensione | Il campo ISIZE di 4 byte nel trailer contiene la dimensione originale non compressa modulo 2³² |
| Livelli di compressione | Nove livelli (1 = più veloce/meno compressione, 9 = più lento/migliore); il predefinito è il livello 6 |
| Codifica del contenuto HTTP | Utilizzato come Content-Encoding `gzip` in HTTP/1.1 per comprimere le risposte web al volo |
| Concatenazione di flussi | Più flussi `.gz` possono essere concatenati; `gunzip` li decomprime come un unico output continuo |
| Identificazione del sistema operativo | Il campo OS di 1 byte nell'intestazione (es. `03` = Unix, `00` = FAT) identifica il sistema di origine |
| Flag dell'intestazione | Il byte dei flag controlla i campi opzionali: FNAME, FCOMMENT, FEXTRA e FHCRC (controllo CRC-16 dell'intestazione) |
| Crittografia | Nessuna integrata - il formato non ha meccanismi di protezione con password o crittografia |
| Convenzione multi-file | Usa prima `tar` per raggruppare i file, poi comprimi: `tar czf archive.tar.gz files/` produce un tarball `.tar.gz` |
| Design dello streaming | Comprime in un unico passaggio in avanti; non richiede di conoscere la dimensione totale dell'input prima di iniziare |
| Rilasciato | 1992 (gzip 1.0); format standardized as RFC 1952 (1996) |
| Standard aperto | Sì · royalty-free |
| Specifica | www.rfc-editor.org |
Conversioni GZ
Domande e risposte della community
chiesto dagli utentiAncora nessuna domanda - sii il primo a chiedere informazioni sui file GZ.
Domande frequenti
Come si apre un file GZ?
gunzip file.gz, oppure tar -xzf file.tar.gz per un tarball.Qual è la differenza tra .gz e .tar.gz?
Come si apre un file GZ su Windows?
Posso creare un file GZ gratuitamente?
gzip/tar integrati.Perché il mio file GZ contiene un solo file quando ne aspettavo molti?
Come si estrae un .tar.gz in un unico passaggio?
tar -xzf archive.tar.gz. In un'interfaccia grafica, PeaZip, Keka, Ark e File Roller scompattano entrambi i livelli gzip e tar in un'unica estrazione.