Met Gzip gecomprimeerd Tar-archief (.tar.gz)
POSIX.1 StandaardTar Gzip (.tar.gz, ook bekend als .tgz) combineert een TAR-archief met Gzip-compressie en wordt veel gebruikt voor softwaredistributie en het verpakken van bestanden.
Inspecteren en metadata
Besturingssystemen en bestandsanalysators herkennen TAR.GZ-bestanden aan de hand van de eerste binaire bytesequentie:
Bestandshandtekening op byteniveau (magic bytes)
Besturingssystemen en bestandsanalysators herkennen TAR.GZ-bestanden aan de hand van de eerste binaire bytesequentie:
HEX-HANDTEKENING (OFFSET 0):
1F 8B 08ASCII-WEERGAVE: ..\x08
Standaardisatie: POSIX.1 ustar (verpakt in RFC 1952 gzip)
Technische specificaties
| Containerarchitectuur | Archiefstroom in POSIX ustar / GNU tar, verpakt in een Gzip-compressiecontainer volgens RFC 1952 |
| Compressie | Verpakking in twee stappen: TAR-serialisatie gevolgd door DEFLATE-compressie |
| Bytevolgorde (endianness) | Little-Endian gzip-envelop rond octale POSIX tar-blokken |
| Kleurruimten | N.v.t. (archiefcontainer) |
| Kanalen en structuur | Unix-mapbomen met meerdere bestanden, symbolische koppelingen, bestandseigendom en rechtenbits |
| Maximale afmetingen | Onbegrensde streaming-archiefgrootte |
| Transparantie | Verliesvrije bestandsgegevens; behoud van metadata is afhankelijk van het archiefformaat en de uitpakinstellingen |
| Streaming en progressief | End-to-end streamen via pipes: tegelijkertijd decomprimeren en uitpakken in één doorgang |
Technische vergelijkingsmatrix: TAR.GZ versus concurrenten
| Technisch kenmerk | TAR.GZ (Huidig) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix-rechten | Slaat POSIX-metadata op die wordt ondersteund door het archief en de uitpaktool | Beperkt / vaak verloren | Basisattributen behouden | Geselecteerde POSIX-metadata ondersteund door de uitpaktool |
| Compressieverhouding | Matig (Gzip DEFLATE) | Matig (ZIP DEFLATE) | Zeer hoog (LZMA2) | Hoog (Bzip2 BWT) |
| Decompressiesnelheid | Snel (~300 MB/s) | Snel (~300 MB/s) | Matig (~100 MB/s) | Traag (~40 MB/s) |
| Linux-ecosysteemstandaard | Gebruikelijk bij het verpakken van open-sourcesoftware | Standaard op consumentendesktops | Favoriet onder Windows-liefhebbers | Oudere Linux-broncodeversies |
Veelvoorkomende beschadigingen en gids voor hex-herstel
De opdrachtregel meldt 'gzip: stdin: invalid compressed data--format violated'.
Oorzaak: Beschadigde bytes in de Gzip-envelop of afgebroken download.
Herstel: Probeer gedeeltelijk herstel met de Archiefextractor van File2File.app of 'tar -izxf broken.tar.gz'.
Beveiligingsanalyse en aanvalsvectoren voor parsers
TAR.GZ-archieven combineren de risico's van zowel compressiebommen als directory-traversal-aanvallen als ze slordig worden uitgepakt.
Bekende aanvalsvectoren
- Vergroting in de stijl van een zip-bom waarbij een klein .tar.gz-bestand uitzet tot terabytes aan nullen.
- Directory traversal (bijv. '../../root/.ssh/authorized_keys') waarbij bevoorrechte bestanden worden overschreven.
- Het aanmaken van kwaadaardige apparaatknooppunten tijdens het uitpakken als root.
Aanbevolen beveiligingspraktijken: Pak archieven uit als niet-bevoorrechte gebruikers en controleer alle bestemmingsbestandspaden op directory traversal.
Historische oorsprong en mijlpalen
Belangrijkste voordelen
- Softwareprojecten publiceren bronarchieven vaak als .tar.gz omdat TAR de mapboom groepeert en Gzip de stroom comprimeert.
- Een .tar.gz kan rechten en symbolische koppelingen vastleggen in de TAR-laag. Het herstelgedrag is afhankelijk van de uitpaktool en het besturingssysteem van de bestemming, dus controleer de rechten na het uitpakken op een ander platform.
- Volledig streambaar: kan worden gedownload, gedecomprimeerd en uitgepakt via netwerkpipes zonder tijdelijke bestanden naar de schijf te schrijven.
Technische beperkingen
- Voor het uitpakken van een enkel bestand moet het hele archief worden gedecomprimeerd tot aan de locatie van dat bestand.
- Lagere compressieverhouding dan moderne alternatieven zoals .tar.xz of .tar.zst.
- Minder intuïtief op oudere Windows-systemen dan het breed ondersteunde .zip-formaat.
Interessante technische weetjes
- Op MS-DOS-systemen met bestandsnaamlimieten van 8.3 werd '.tar.gz' ingekort tot '.tgz'.
- Elke keer dat u 'npm install' uitvoert, downloadt en pakt npm achter de schermen .tgz-pakketten (tar.gz) uit.
- Linux-gebruikers onthouden het commando om een tar.gz-bestand uit te pakken vaak met de bekende ezelsbrug 'eXtract Ze File': tar -xzf file.tar.gz.
Veelgestelde technische vragen
Wat is het verschil tussen .tar.gz en .zip?
.zip slaat bestanden op met een centrale map, terwijl .tar.gz een TAR-stroom verpakt in Gzip. Het behoud van metadata hangt af van het archief en de uitpakinstellingen.
Is .tgz hetzelfde als .tar.gz?
Ja. .tgz is simpelweg een afgekorte bestandsextensie van 3 letters voor .tar.gz, oorspronkelijk bedacht voor besturingssystemen met korte bestandsnaamlimieten van 8.3, zoals DOS.
Hoe kan ik een .tar.gz-bestand uitpakken op Windows?
U kunt .tar.gz-bestanden rechtstreeks in uw webbrowser uitpakken met File2File.app zonder WinRAR of 7-Zip te installeren.