Tar-Gzip-arkiv (.tar.gz)
POSIX.1 StandardTar Gzip (.tar.gz, også kendt som .tgz) kombinerer et TAR-arkiv med Gzip-komprimering og bruges ofte til softwaredistribution og filpakning.
Undersøgelse og metadata
Operativsystemer og filanalysatorer identificerer TAR.GZ-filer ved at inspicere den indledende binære bytesekvens:
Byte-niveau Header-signatur (Magic Bytes)
Operativsystemer og filanalysatorer identificerer TAR.GZ-filer ved at inspicere den indledende binære bytesekvens:
HEX-SIGNATUR (OFFSET 0):
1F 8B 08ASCII-REPRÆSENTATION: ..\x08
Standardisering: POSIX.1 ustar (indpakket med RFC 1952 Gzip)
Tekniske specifikationer
| Containerarkitektur | POSIX ustar / GNU tar-arkivstrøm indpakket i en RFC 1952 Gzip-komprimeringsbeholder |
| Komprimering | Pakning i to trin: først TAR-serialisering, derefter DEFLATE-komprimering |
| Byte-rækkefølge | Little-Endian Gzip-indpakning omkring oktale POSIX tar-blokke |
| Farverum | Ikke relevant (arkivbeholder) |
| Kanaler og struktur | Unix-mappetræer med flere filer, symbolske links, filejerskab og tilladelsesbits |
| Maks. dimensioner | Ubegrænset størrelse på streamingarkiv |
| Gennemsigtighed | Tabsfri fildata. Bevarelse af metadata afhænger af arkivformatet og indstillingerne for udpakning. |
| Streaming og progressiv | Streaming fra ende til ende via pipes: dekomprimering og udpakning udføres samtidigt i ét gennemløb |
Teknisk sammenligningsmatrix: TAR.GZ sammenlignet med konkurrenterne
| Teknisk attribut | TAR.GZ (Aktuel) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix-tilladelser | Gemmer POSIX-metadata, som understøttes af arkivet og udpakningsprogrammet | Begrænset / ofte tabt | Grundlæggende attributter bevaret | Udvalgte POSIX-metadata, som understøttes af udpakningsprogrammet |
| Komprimeringsforhold | Moderat (Gzip DEFLATE) | Moderat (ZIP DEFLATE) | Meget højt (LZMA2) | Højt (Bzip2 BWT) |
| Dekomprimeringshastighed | Hurtig (~300 MB/s) | Hurtig (~300 MB/s) | Moderat (~100 MB/s) | Langsom (~40 MB/s) |
| Linux-økosystemstandard | Almindeligt i open source-pakker | Forbruger-skrivebordsstandard | Windows-entusiastfavorit | Ældre Linux-kildeudgivelser |
Almindelige korruptionstilstande og hex-gendannelsesvejledning
Kommandolinjen rapporterer 'gzip: stdin: invalid compressed data--format violated'.
Grundlæggende årsag: Beskadigede bytes i Gzip-omslaget eller afbrudt download.
Gendannelse: Forsøg delvis gendannelse ved hjælp af File2File.app Archive Extractor eller 'tar -izxf broken.tar.gz'.
Sikkerhedsanalyse og parser-angrebsvektorer
TAR.GZ-arkiver kombinerer risiciene ved både komprimeringsbomber og kataloggennemløbsangreb, hvis de udpakkes uforsigtigt.
Kendte angrebsvektorer
- Forstærkning i stil med zip-bomber, hvor en lille .tar.gz-fil udvides til terabytes af nuller.
- Kataloggennemløb (f.eks. '../../root/.ssh/authorized_keys'), der overskriver privilegerede filer.
- Oprettelse af skadelige enhedsknuder under udpakning som root.
Defensive bedste praksisser: Pak arkiver ud som en bruger uden administratorrettigheder, og kontrollér alle destinationsstier for path traversal.
Historisk oprindelse og milepæle
Vigtige fordele og styrker
- Softwareprojekter udgiver ofte kildearkiver som .tar.gz, fordi TAR samler mappestrukturen, og Gzip komprimerer strømmen.
- En .tar.gz-fil kan gemme tilladelser og symbolske links i TAR-laget. Gendannelsen afhænger af udpakningsprogrammet og destinationssystemet; kontrollér tilladelserne efter udpakning på en anden platform.
- Fuldstændig strømbaseret: kan downloades, dekomprimeres og udpakkes over netværksrør uden at skrive midlertidige filer til disken.
Tekniske begrænsninger og ulemper
- Udpakning af en enkelt fil kræver dekomprimering af hele arkivet op til denne fils placering.
- Lavere komprimeringsforhold end moderne alternativer som .tar.xz eller .tar.zst.
- Mindre intuitiv på ældre Windows-systemer end det bredt understøttede ZIP-format.
Interessante tekniske fakta
- På MS-DOS-systemer med begrænsninger på 8.3-filnavne blev '.tar.gz' forkortet til '.tgz'.
- Hver gang du kører 'npm install', downloader og udpakker npm .tgz (tar.gz)-pakker i baggrunden.
- Linux-brugere husker den velkendte kommando til at udpakke en tar.gz-fil ved hjælp af huskereglen 'eXtract Ze File': tar -xzf file.tar.gz.
Ofte stillede tekniske spørgsmål
Hvad er forskellen mellem .tar.gz og .zip?
.zip gemmer filer med en central katalogstruktur, mens .tar.gz pakker en TAR-strøm ind i Gzip. Bevarelsen af metadata afhænger af arkivet og indstillingerne for udpakning.
Er .tgz det samme som .tar.gz?
Ja. .tgz er blot et forkortet filtypenavn på 3 bogstaver for .tar.gz, oprindeligt skabt til operativsystemer med korte 8.3-filnavnsgrænser som DOS.
Hvordan kan jeg udpakke en .tar.gz-fil på Windows?
Du kan udpakke .tar.gz-filer direkte i din netbrowser ved hjælp af File2File.app uden at installere WinRAR eller 7-Zip.