TAR-GZIP-archívum (.tar.gz)
POSIX.1 SzabványA Tar Gzip (.tar.gz, más néven .tgz) a Linux és a nyílt forráskódú világ standard szoftverterjesztési és archívum-csomagolási formátuma, amely egyesíti a Unix-natív TAR csomagolást az univerzális Gzip tömörítéssel.
Vizsgálat és metaadatok
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) TAR.GZ fájlokat:
Bájtszintű fejlécaláírás (fájlazonosító bájtok)
Az operációs rendszerek és a fájlelemzők a kezdő bináris bájtsorozat vizsgálatával azonosítják a(z) TAR.GZ fájlokat:
HEX ALÁÍRÁS (ELTOLÁS 0):
1F 8B 08ASCII ÁBRÁZOLÁS: ..\x08
Szabványosítás: POSIX.1 ustar (RFC 1952 szerinti gzip-burkolattal)
Műszaki specifikációk
| Konténer architektúra | POSIX ustar / GNU tar archívum-adatfolyam RFC 1952 szerinti Gzip-tömörítési tárolóba csomagolva |
| Tömörítés | Kétlépcsős csomagolás: TAR-szerializálás, majd DEFLATE-tömörítés |
| Bájtsorrend | kis bájtsorrendű Gzip-burkolat oktális POSIX tar blokkok körül |
| Színterek | Nem alkalmazható (archívumtároló) |
| Csatornák és struktúra | Többfájlos Unix-könyvtárfák, szimbolikus linkek, fájltulajdonosok és jogosultsági bitek |
| Max. méretek | Korlátlan méretű adatfolyamként feldolgozható archívum |
| Átlátszóság | Veszteségmentes fájladatok; a metaadatok megőrzése az archívumformátumtól és a kicsomagolási beállításoktól függ |
| Streaming és progresszív | Végponttól végpontig csatornázható adatfolyam: tömörítésbontás és kicsomagolás egyetlen menetben |
Műszaki összehasonlító mátrix: TAR.GZ vs. versenytársak
| Technikai attribútum | TAR.GZ (Jelenlegi) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix jogosultságok | Az archívum és a kicsomagoló által támogatott POSIX-metaadatokat tárol | Korlátozott / gyakran elveszik | Az alapvető attribútumok megmaradnak | A kicsomagoló által támogatott kiválasztott POSIX-metaadatok |
| Tömörítési arány | Mérsékelt (Gzip DEFLATE) | Mérsékelt (ZIP DEFLATE) | Nagyon magas (LZMA2) | Magas (Bzip2 BWT) |
| Kitömörítési sebesség | Gyors (~300 MB/s) | Gyors (~300 MB/s) | Mérsékelt (~100 MB/s) | Lassú (~40 MB/s) |
| Linux ökoszisztéma szabvány | Univerzális nyílt forráskódú alapértelmezett | Fogyasztói asztali alapértelmezett | Windows rajongók kedvence | Régi Linux forráskód kiadások |
Gyakori sérülési módok és hexadecimális helyreállítási útmutató
A parancssor ezt jelzi: 'gzip: stdin: invalid compressed data--format violated'.
Kiváltó ok: Sérült bájtok a Gzip burkolatban vagy megszakadt letöltés.
Helyreállítás: Részleges helyreállítás megkísérlése a File2File.app Archívum Kitömörítővel vagy a 'tar -izxf broken.tar.gz' paranccsal.
Biztonsági elemzés és elemző (parser) támadási vektorok
A TAR.GZ archívumok mind a tömörítési bombák (zip bomb), mind a könyvtár-bejárási támadások kockázatait hordozzák, ha óvatlanul tömörítik ki őket.
Ismert támadási vektorok
- Zip bomba jellegű felnagyítás, ahol egy apró .tar.gz fájl terabájtnyi nullává bővül ki.
- Könyvtár-bejárás (pl. '../../root/.ssh/authorized_keys'), ami felülírja a jogosultsággal védett fájlokat.
- Rosszindulatú eszközcsomópontok létrehozása a kitömörítés során root felhasználóként.
Ajánlott védekezési módszerek: Csomagolja ki az archívumokat nem privilegizált felhasználókként, és tisztítsa meg az összes célfájl-útvonalat a könyvtárbejárási (directory traversal) kísérletek ellen.
Történeti háttér és mérföldkövek
Főbb előnyök
- A szoftverprojektek gyakran .tar.gz formátumban teszik közzé a forrásarchívumaikat, mert a TAR csoportosítja a könyvtárfát, a Gzip pedig tömöríti az adatfolyamot.
- A .tar.gz TAR-rétege képes rögzíteni a jogosultságokat és a szimbolikus linkeket. Visszaállításuk a kicsomagolótól és a cél operációs rendszertől függ, ezért más platformon történő kicsomagolás után ellenőrizze a jogosultságokat.
- Teljes mértékben streamelhető: letölthető, kitömöríthető és kibontható hálózati csővezetékeken keresztül anélkül, hogy ideiglenes fájlokat kellene írni a lemezre.
Technikai korlátok és hátrányok
- Egyetlen fájl kibontásához az egész archívumot ki kell tömöríteni az adott fájl helyéig.
- Alacsonyabb tömörítési arány a modern alternatívákhoz, például a .tar.xz-hez vagy a .tar.zst-hez képest.
- Régebbi Windows-rendszereken kevésbé magától értetődő, mint a széles körben támogatott ZIP-formátum.
Érdekes technikai tudnivalók
- Az MS-DOS rendszereken a 8.3-as fájlnév-korlátok miatt a '.tar.gz' nevet '.tgz'-re rövidítették.
- Valahányszor futtatja az 'npm install' parancsot, az npm a háttérben .tgz (tar.gz) csomagokat tölt le és bont ki.
- A Linux felhasználók körében híres az eXtract Ze File mnemonikus szabály a tar.gz fájlok kibontására: tar -xzf file.tar.gz.
Gyakran Ismételt Műszaki Kérdések
Mi a különbség a .tar.gz és a .zip között?
A .zip fájlok központi könyvtárral tárolják a fájlokat, míg a .tar.gz egy TAR-adatfolyamot csomagol Gzipbe. A metaadatok megőrzése az archívumtól és a kicsomagolási beállításoktól függ.
Ugyanaz a .tgz, mint a .tar.gz?
Igen. A .tgz egyszerűen a .tar.gz 3 betűs rövidített fájlkiterjesztése, amelyet eredetileg a rövid, 8.3-as fájlnév-korlátozású operációs rendszerekhez (pl. DOS) hoztak létre.
Hogyan csomagolhatok ki egy .tar.gz fájlt Windows-on?
A .tar.gz fájlokat közvetlenül a webböngészőjében bonthatja ki a File2File.app használatával, WinRAR vagy 7-Zip telepítése nélkül.