TAR arhiivi teisendaja GZIP-arhiiviks
TAR-arhiivi teisendamine GZIP-arhiiviks pakib tihendamata failikogumi üheks tihendatud vooguks, kasutades kadudeta DEFLATE-algoritmi, et failisuurust drastiliselt vähendada.
Formaatide võrdlus ja tehnilised spetsifikatsioonid
| Spetsifikatsioon | TAR | GZ |
|---|---|---|
| MIME-tüüp | application/x-tar | application/gzip |
| Tüüp | archive container | compressed stream |
| Tihendamine | uncompressed (often combined with gzip/bzip2/xz) | lossless DEFLATE (LZ77 + Huffman) |
| Standardne spetsifikatsioon | POSIX.1-2001 / IEEE 1003.1 ustar | IETF RFC 1952 (GZIP) |
| Tunnuskoodi päis (Magic Bytes) | 75 73 74 61 72 (ustar) | 1F 8B |
Formaadi ülevaade ja kasutusvaldkonnad
Tarkvaraarendajad ja süsteemiadministraatorid rühmitavad sageli mitu faili ja kataloogi ühte TAR-arhiivi, et säilitada kaustastruktuurid ja failiõigused. TAR-failid ise aga failisuurust ei vähenda. Seetõttu tekib vajadus arhiiv kiiremaks võrguülekandeks ja tõhusaks salvestamiseks tihendada. TAR-konteineri teisendamisel GZIP-arhiiviks rakendatakse DEFLATE-algoritmi kogu andmevoole. See töövoog on standardne tava Linuxi ja Unixi keskkondades tarkvara levitamiseks, süsteemi varukoopiate tegemiseks ja serverite seadistamiseks. Tavalised tihendustööriistad, näiteks gzip, töötlevad tooreid TAR-baite otse, väljastades kompaktse faili, mis hoiab kõik algsed metaandmed puutumatuna.
Tehnilised spetsifikatsioonid ja koodekite ülevaade
TAR (Tape Archive) failil on MIME-tüüp application/x-tar ja see salvestab failid järjestikku ilma sisseehitatud tihenduseta. See tugineb POSIX-standarditele ja kasutab nulliga polsterdatud päiseplokke. Vastupidiselt on GZIP-failil MIME-tüüp application/gzip ja see toimib tihendatud voo konteinerina, mis kasutab kadudeta DEFLATE-algoritmi, kombineerides LZ77 libiseva akna sobitamist ja Huffmani kodeerimist. Failisignatuurid määravad, kuidas operatsioonisüsteemid neid vorminguid tuvastavad. Standardne TAR-fail sisaldab sageli nulle nihkel 257 ustar-indikaatori jaoks. GZIP-fail algab kindla kaebaidise maagilise numbri signatuuriga, nimelt kuueteistkümnendsüsteemi baitidega 1F 8B, millele järgnevad tihenduslipud ja ajatempel.
OS-i ja brauseri ühilduvus
GZIP-arhiivid on universaalselt toetatud kaasaegsetes operatsioonisüsteemides, sealhulgas Linuxis, macOS-is ja Windowsis. Käsureatööriistad nagu gzip ja gunzip on Unixi-põhistes süsteemides eelinstallitud, samas kui Windowsi kaasaegsed versioonid käsitlevad GZIP-i natiivselt PowerShellis ja failihalduris. Veebibrauserid ei ekstrakti GZIP-arhiive otse kliendi poolel ilma JavaScripti teekideta, kuid veebiserverid kasutavad GZIP-i rutiinselt HTTP-liikluse käigu pealt tihendamiseks.
💡 Kasulik teave
Looge alati esmalt oma tihendamata TAR-fail enne GZIP-tihenduse rakendamist. Üksikute failide tihendamine TAR-konteineri sees annab halva tihendussuhte, kuna DEFLATE-algoritmit ei leia failidevahelisi mustreid nii tõhusalt kui ühel pideval baidivoolul.
Formaatide võrdlus ja tehnilised spetsifikatsioonid
Kujutage ette 500 MB suurust tarkvaraprojekti arhiivi. Tihendamata TAR-vormingus võtab selle faili edastamine 250 Mbps fiiberühendusel umbes 16,6 sekundit, 50 Mbps 5G ühendusel 1,3 minutit ja peaaegu 14 minutit 5 Mbps 4G ühendusel. TAR-faili teisendamine GZIP-arhiiviks kahandab selle tavaliselt 150 MB-ni. Väiksem failisuurus vähendab edastusaegu 5 sekundini fiiberühendusel, 24 sekundini 5G-s ja 4,2 minutini 4G-s.
Korduma kippuvad küsimused
Kuidas teisendada TAR arhiiv GZIP arhiiviks ilma kvaliteeti kaotamata?
Teisendusel kasutatakse kadudeta DEFLATE-algoritmi. Kadudeta tihendus tähendab, et iga viimane bait, failiõigus ja kaustastruktuur säilitatakse täpselt sellisena, nagu see oli algses TAR-failis, ning and kadusid ekstraktimisel ei esine.
Mis vahe on TAR arhiivil ja GZIP arhiivil?
TAR-arhiiv on konteinervorming, mis koondab mitu faili ja kausta ühte faili ilma nende suurust vähendamata. GZIP-arhiiv on tihendusvoog, mis vähendab failisuurust matemaatiliste algoritmide abil, kuid töötleb tavaliselt korraga ainult ühte andmevoogu, mistõttu TAR ja GZIP on ühendatud kujule .tar.gz.