Konvertor archívov TAR na GZIP
Konverzia archívu TAR na archív GZIP zabalí nekomprimovanú kolekciu súborov do jedného komprimovaného prúdu pomocou bezstratového algoritmu DEFLATE na dramatické zmenšenie veľkosti súboru.
Porovnanie formátov a technické špecifikácie
| Špecifikácia | TAR | GZ |
|---|---|---|
| MIME typ | application/x-tar | application/gzip |
| Typ | archive container | compressed stream |
| Kompresia | uncompressed (often combined with gzip/bzip2/xz) | lossless DEFLATE (LZ77 + Huffman) |
| Štandardná špecifikácia | POSIX.1-2001 / IEEE 1003.1 ustar | IETF RFC 1952 (GZIP) |
| Hlavička magických bajtov | 75 73 74 61 72 (ustar) | 1F 8B |
Prehľad formátu a použitie
Vývojári softvéru a správcovia systémov často zoskupujú viacero súborov a adresárov do jedného archívu TAR, aby zachovali štruktúru priečinkov a oprávnenia súborov. Súbory TAR však samy osebe nezmenšujú veľkosť súborov. To vyvoláva potrebu komprimovať archív na rýchlejší prenos v sieti a efektívne ukladanie. Konverziou kontajnera TAR na archív GZIP používatelia aplikujú algoritmus DEFLATE na celý dátový prúd. Tento pracovný postup je štandardným postupom v prostrediach Linux a Unix na distribúciu softvéru, zálohovanie systémov a nasadzovanie serverov. Štandardné kompresné nástroje, ako je gzip, spracúvajú surové bajty TAR priamo a výstupom je kompaktný súbor, ktorý zachováva všetky pôvodné metadáta nedotknuté.
Technické špecifikácie a prehľad kodekov
Súbor TAR (Tape Archive) má typ MIME application/x-tar a ukladá súbory postupne bez vstavanej kompresie. Spolieha sa na štandardy POSIX a používa hlavičkové bloky doplnené nulami. Naopak, súbor GZIP má typ MIME application/gzip a funguje ako kontajner komprimovaného prúdu využívajúci bezstratový algoritmus DEFLATE, ktorý kombinuje priradenie posuvného okna LZ77 a Huffmanovo kódovanie. Podpisy súborov určujú, ako operačné systémy identifikujú tieto formáty. Štandardný súbor TAR často obsahuje nuly na pozícii 257 pre indikátor ustar. Súbor GZIP začína špecifickým dvojbajtovým podpisom magického čísla, konkrétne šestnástkovými bajtmi 1F 8B, po ktorých nasledujú príznaky kompresie a časová pečiatka.
Kompatibilita s OS a prehliadačmi
Archívy GZIP sa tešia univerzálnej podpore v moderných operačných systémoch vrátane systémov Linux, macOS a Windows. Nástroje príkazového riadika ako gzip a gunzip sú predinštalované v systémoch Unix, zatiaľ čo moderné verzie systému Windows spracúvajú GZIP natívne v prostrediach PowerShell a Prieskumník súborov. Webové prehliadače neextrahujú archívy GZIP priamo na strane klienta bez knižníc JavaScriptu, ale webové servery bežne používajú GZIP na kompresiu prevádzky HTTP za chodu.
💡 Užitočné informácie
Pred použitím kompresie GZIP si vždy najprv vytvorte nekomprimovaný súbor TAR. Kompresia jednotlivých súborov v kontajneri TAR prináša slabé kompresné pomery, pretože algoritmus DEFLATE nedokáže nájsť vzory naprieč súbormi tak efektívne, ako na jednom súvislom prúde bajtov.
Porovnanie formátov a technické špecifikácie
Predstavte si archív softvérového projektu s veľkosťou 500 MB. Vo svojom nekomprimovanom formáte TAR trvá prenos tohto súboru približne 16,6 sekundy na optickom pripojení 250 Mbps, 1,3 minúty na pripojení 50 Mbps 5G a takmer 14 minút na pripojení 5 Mbps 4G. Konverzia súboru TAR na archív GZIP ho zvyčajne zmenší na 150 MB. Zmenšená veľkosť súboru skracuje časy prenosu na 5 sekúnd pri optickom pripojení, 24 sekúnd pri 5G a 4,2 minúty pri 4G.
Často kladené otázky
Ako skonvertovať archív TAR na archív GZIP bez straty kvality?
Konverzia využíva bezstratový algoritmus DEFLATE. Bezstratová kompresia znamená, že každý jeden bajt, oprávnenie súboru a štruktúra priečinka sú zachované presne tak, ako boli v pôvodnom súbore TAR, pričom počas extrakcie nedochádza k žiadnej strate údajov.
Aký je rozdiel medzi archívom TAR a archívom GZIP?
Archív TAR je formát kontajnera, ktorý zoskupuje viacero súborov a priečinkov do jedného súboru bez zmenšenia ich veľkosti. Archív GZIP je kompresný prúd, ktorý zmenšuje veľkosť súboru pomocou matematických algoritmov, ale zvyčajne spracúva naraz iba jeden prúd údajov, a preto sú TAR a GZIP spárované dohromady ako .tar.gz.