Převod TAR na GZ
Konverze archivu TAR na archiv GZIP zabalí nekomprimovanou kolekci souborů do jediného komprimovaného proudu pomocí bezztrátového algoritmu DEFLATE k výraznému zmenšení velikosti souboru.
Porovnání formátů a technické specifikace
| Specifikace | TAR | GZ |
|---|---|---|
| MIME typ | application/ | application/ |
| Typ | archivní kontejner | komprimovaný proud |
| Komprese | nekomprimováno (často kombinováno s gzip/bzip2/xz) | bezztrátové DEFLATE (LZ77 + Huffman) |
| Standardní specifikace | POSIX.1-2001 / IEEE 1003.1 ustar | IETF RFC 1952 (GZIP) |
| Hlavička souboru (Magic bytes) | 75 73 74 61 72 (ustar) | 1F 8B |
Přehled formátu a použití
Vývojáři softwaru a správci systému často seskupují více souborů a adresářů do jediného archivu TAR, aby zachovali strukturu složek a oprávnění souborů. Soubory TAR však samy o sobě velikost souborů nezmenšují. To vyvolává potřebu archiv komprimovat pro rychlejší síťové přenosy a efektivnější ukládání. Převedením kontejneru TAR na archiv GZIP uživatelé použijí algoritmus DEFLATE na celý datový proud. Tento pracovní postup je standardním postupem v prostředích Linux a Unix pro distribuci softwaru, zálohování systému a nasazení serveru. Standardní kompresní nástroje, jako je gzip, zpracovávají surové bajty TAR přímo a vydávají kompaktní soubor, který zachovává všechna původní metadata beze změny.
Technické specifikace a přehled kodeků
Soubor TAR (Tape Archive) má typ MIME application/x-tar a ukládá soubory sekvenčně bez vestavěné komprese. Spoléhá na standardy POSIX a používá záhlavové bloky vyplněné nulami. Naopak soubor GZIP má typ MIME application/gzip a funguje jako kontejner komprimovaného streamu využívající bezztrátový algoritmus DEFLATE, který kombinuje vyhledávání shod pomocí klouzavého okna LZ77 a Huffmanovo kódování. Podpisy souborů určují, jak operační systémy tyto formáty identifikují. Standardní soubor TAR často obsahuje indikátor ustar na pozici 257. Soubor GZIP začíná zřetelným dvoubajtovým podpisem magického čísla, konkrétně hexadecimálními bajty 1F 8B, za nimiž následují kompresní příznaky a časové razítko.
Kompatibilita s operačními systémy a prohlížeči
Archivy GZIP se těší univerzální podpoře napříč moderními operačními systémy včetně Linuxu, macOS a Windows. Nástroje příkazového řádku, jako jsou gzip a gunzip, jsou předinstalované v systémech založených na Unixu, zatímco moderní verze Windows nativně podporují GZIP v prostředí PowerShell a Průzkumníku souborů. Webové prohlížeče nerozbalují archivy GZIP přímo na straně klienta bez knihoven JavaScript, ale webové servery běžně používají GZIP ke kompresi provozu HTTP za chodu.
Užitečné informace
Nejprve vždy vytvořte nekomprimovaný soubor TAR a teprve potom použijte kompresi GZIP. Komprese jednotlivých souborů uvnitř kontejneru TAR přináší špatný kompresní poměr, protože algoritmus DEFLATE nedokáže najít vzory napříč soubory tak efektivně jako na jednom souvislém proudu bajtů.
Často kladené otázky
Jak převést archiv TAR na archiv GZIP bez ztráty kvality?
Konverze využívá bezztrátový algoritmus DEFLATE. Bezztrátová komprese znamená, že každý jednotlivý bajt, oprávnění souboru a struktura složek jsou zachovány přesně tak, jak byly v původním souboru TAR, s nulovou ztrátou dat během extrakce.
Jaký je rozdíl mezi archivem TAR a archivem GZIP?
Archiv TAR je formát kontejneru, který sdružuje více souborů a složek do jednoho souboru bez zmenšení jejich velikosti. Archiv GZIP je kompresní proud, který zmenšuje velikost souboru pomocí matematických algoritmů, ale obvykle zpracovává pouze jeden proud dat najednou, což je důvod, proč se TAR a GZIP spárují jako .tar.gz.