Arhiv Tar Gzip (.tar.gz)
POSIX.1 StandardTAR Gzip (.tar.gz, poznat i kao .tgz) kombinuje TAR arhivu sa Gzip kompresijom i često se koristi za distribuciju softvera i pakovanje datoteka.
Pregled i metapodaci
Operativni sistemi i analizatori datoteka identifikuju TAR.GZ datoteke proverom početnog binarnog niza bajtova:
Potpis zaglavlja na nivou bajtova (magični bajtovi)
Operativni sistemi i analizatori datoteka identifikuju TAR.GZ datoteke proverom početnog binarnog niza bajtova:
HEKSADECIMALNI POTPIS (OFFSET 0):
1F 8B 08ASCII REPREZENTACIJA: ..\x08
Standardizacija: POSIX.1 ustar (GZIP omotač prema RFC 1952)
Tehničke specifikacije
| Arhitektura kontejnera | POSIX ustar ili GNU tar arhivski tok umotan u Gzip kontejner za kompresiju prema RFC 1952 |
| Kompresija | Pakovanje u dva koraka: serijalizacija u TAR, a zatim kompresija DEFLATE-om |
| Bajtni redosled (Endianness) | Gzip omotač s malo-endijanskim redosledom bajtova, oko POSIX tar blokova s oktalnim poljima |
| Prostori boja | Nije primenljivo (arhivski kontejner) |
| Kanali i struktura | Unix stabla direktorijuma s više datoteka, simboličke veze, vlasništvo nad datotekama i bitovi dozvola |
| Maksimalne dimenzije | Neograničena veličina arhive u strimu |
| Transparentnost | Podaci datoteka se čuvaju bez gubitaka; čuvanje metapodataka zavisi od formata arhive i podešavanja raspakivanja |
| Strimovanje i progresivno učitavanje | Strimovanje kroz cevi od početka do kraja: dekompresija i raspakivanje istovremeno, u jednom prolazu |
Tehnička matrica poređenja: TAR.GZ u odnosu na konkurente
| Tehnički atribut | TAR.GZ (Trenutno) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix dozvole | Čuva POSIX metapodatke koje podržavaju arhiva i raspakivač | Ograničeno / često izgubljeno | Osnovni atributi očuvani | Raspakivač može da sačuva odabrane POSIX metapodatke |
| Stepen kompresije | Umeren (Gzip DEFLATE) | Umeren (ZIP DEFLATE) | Vrlo visok (LZMA2) | Visok (Bzip2 BWT) |
| Brzina dekompresije | Brzo (~300 MB/s) | Brzo (~300 MB/s) | Umereno (~100 MB/s) | Sporo (~40 MB/s) |
| Standard Linux ekosistema | Često se koristi za pakovanje softvera otvorenog koda | Podrazumevani izbor za korisnički desktop | Omiljen među Windows entuzijastima | Stara izdanja Linux izvornog koda |
Uobičajeni režimi oštećenja i vodič za heksadecimalni oporavak
Komandna linija prijavljuje 'gzip: stdin: invalid compressed data--format violated'.
Osnovni uzrok: Oštećeni bajtovi u Gzip omotaču ili prekinuto preuzimanje.
Oporavak: Pokušajte delimično da oporavite arhivu pomoću File2File.app alata za raspakivanje arhiva ili 'tar -izxf broken.tar.gz'.
Bezbednosna analiza i vektori napada parsera
TAR.GZ arhive nose rizike od kompresionih bombi i napada prolaskom kroz direktorijume ako se nepažljivo raspakuju.
Poznati vektori napada
- Pojačanje u stilu ZIP bombe gde mala .tar.gz datoteka ekspandira u terabajte nula.
- Prolazak kroz direktorijume (npr. '../../root/.ssh/authorized_keys') kojim se prepisuju privilegovane datoteke.
- Kreiranje zlonamernih čvorova uređaja tokom raspakivanja sa privilegijama korisnika root.
Najbolje prakse za zaštitu: Ekstrahujte arhive kao neprivilegovani korisnici i očistite sve odredišne putanje datoteka kako biste sprečili izlazak iz direktorijuma.
Istorijat i prekretnice
Ključne prednosti
- Softverski projekti često objavljuju izvorni kod u .tar.gz arhivama jer TAR grupiše stablo direktorijuma, a Gzip kompresuje tok.
- .tar.gz može da zabeleži dozvole i simboličke veze u TAR sloju. Vraćanje tih metapodataka zavisi od raspakivača i ciljnog operativnog sistema, pa nakon raspakivanja na drugoj platformi proverite dozvole.
- Potpuno podržava strimovanje: može se preuzeti, dekompresovati i raspakovati preko mrežnih cevi bez pisanja privremenih datoteka na disk.
Tehnička ograničenja i nedostaci
- Raspakivanje jedne datoteke zahteva dekompresiju cele arhive sve do lokacije te datoteke.
- Manji stepen kompresije u odnosu na moderne alternative kao što su .tar.xz ili .tar.zst.
- Manje intuitivan na starijim Windows sistemima od široko podržanog ZIP formata.
Zanimljivosti
- Na MS-DOS sistemima sa ograničenjem naziva datoteka 8.3, '.tar.gz' je skraćeno na '.tgz'.
- Svaki put kada pokrenete 'npm install', npm preuzima i raspakuje .tgz (tar.gz) pakete u pozadini.
- Linux korisnici se čuveno sećaju komande za raspakivanje tar.gz datoteke uz pomoć mnemotehnike 'eXtract Ze File': tar -xzf file.tar.gz.
Često postavljana tehnička pitanja
Koja je razlika između .tar.gz i .zip?
.zip čuva datoteke uz centralni direktorijum, dok .tar.gz sadrži TAR tok umotan u Gzip. Čuvanje metapodataka zavisi od arhive i podešavanja raspakivanja.
Da li je .tgz isto što i .tar.gz?
Da. .tgz je jednostavno skraćena troslovna ekstenzija za .tar.gz, prvobitno uvedena za operativne sisteme sa ograničenjem imena datoteka na format 8.3, kao što je DOS.
Kako mogu da raspakujem .tar.gz datoteku u operativnom sistemu Windows?
Možete raspakovati .tar.gz datoteke direktno u Vašem veb pretraživaču koristeći File2File.app bez instaliranja WinRAR-a ili 7-Zip-a.