21Aug

Milline on eelis, kui kasutada tar-failiformaati täna?

click fraud protection


Tõrke arhiveerimise vorming on arvutamise aastatel tõeline Methuselah, kuid see on tänapäeval ikka veel raskeks kasutuseks. Mis muudab tar vormi nii kasulikuks ka pärast selle algust?

Tänane küsimus &Vastuste seanss tuleb meile viisakalt SuperUseriga - Q & A veebisaitide kogukonnapõhise grupi Stack Exchange jagunemisest.

Küsimus

SuperUser-lugeja MarcusJ on ​​uudishimulik tartilise vormi kohta ja seda, miks me kasutame seda ka pärast kõiki neid aastaid:

Ma tean, et päeval on lintarhiividele tehtud tõrv, kuid täna on meil ka arhiivifaili vormingudkoondada failid ja teostada pakkimine samas loogilises failivormingus.

Küsimused:

  • Kas toimivuskaristus on /compression/ agregatsiooni dekompressiooni etapis, kui kasutatakse targaid, mis on kapseldatud gzipis või bzip2, võrreldes samasuguse andmestruktuuriga koondatud ja tihendatud failivorminguga? Oletame, et võrreldava kompressori tööaeg on identne( nt gzip ja Deflate on sarnased).
  • Kas tarfailide vormingus on muid failivorminguid, nagu näiteks. 7z ja. zip?
  • instagram viewer
  • Kuna tõrv on selline vana failivorming ja täna on uuemad failivormingud, siis miks on tõrv( kas kapseldatud gzipis, bzip2 või isegi uue xz-ga), mida tänapäeval kasutatakse nii laialdaselt GNU / Linuxi, Android, BSD ja teiste sarnasteUNIX-i operatsioonisüsteemid, failiedastused, programmide allika ja binaarlaaditavad failid, mõnikord ka pakettide halduri vormingus?

See on täiesti mõistlik küsimus;Viimase kolmekümne aasta jooksul on arvutite maailmas nii palju muutunud, kuid me kasutame endiselt tar-vormingut. Mis on lugu?

Vastused

SuperUseri toetajale Allquixotic pakub mõningat ülevaadet tar-vormingu pikaealisuse ja funktsionaalsuse kohta:

1. osa: Performance

Siin on kahe eraldi töövoo võrdlus ja mida nad teevad.

Teil on kettale salvestatud fail blah.tar.gz, mis on näiteks 1 GB gzip-kokkusurutud andmeid, mis ilma kompressimata hõivab 2 GB( nii surveaste on 50%).

Nii, nagu te seda teeksite, kui soovite arhiveerida ja pakkida eraldi, oleks:

tar tar cf blah.tar failid. ..

Selle tulemuseks oleks blah.tar, mis on lihtsalt failide koondamine.. kokkupandud kujul.

Siis teete

gzip blah.tar

See loeb blah.tar sisu kettalt, tihendab neid gzip-pakkimisalgoritmi abil, kirjutab sisu blah.tar.gz, seejärel lahutage( kustuta) fail blah.tõrva.

Nüüd lahutame!

Way 1

Teil on blah.tar.gz ühel või teisel viisil.

Te otsustate käivitada:

gunzip blah.tar.gz

Sellega saab

  • LUGEDA blah.tar.gz 1GB tihendatud andmete sisu.
  • PROTSESS koormusandmeid gzip-dekompressoriga mällu.
  • Kuna mälupuhver täidab "plokk" väärtusega väärtusi, siis kirjutage kokkusurumata andmed kettale fileblah.tar ja korrake, kuni kõik kokkusurutud andmed loetakse.
  • Faili lahtiühendamine( kustutamine) blah.tar.gz.

Nüüd on teil kettale blah.tar, mis on tihendamata, kuid sisaldab ühte või mitut selles sisalduvat faili, mille andmetöötlus on väga väike. Faili suurus on ilmselt paar baiti suurem kui kõigi failide andmete summa oleks.

Käivitad:

tar xvf blah.tar

Sellega saab

  • LUGEDA 2 GB blah.tar ja tõrkfaili vormingu andmestruktuuride tihendamata andmete sisu, sealhulgas teave failiõiguste, failinimede, kataloogide jne kohta.
  • WRITE kettale2 GB andmeid ja metaandmeid. See hõlmab järgmisi andmeid: andmete struktuuri / metaandmete teabe tõlkimine uute failide ja kataloogide loomiseks kettale vastavalt vajadusele või olemasolevate failide ja kataloogide ümberkirjutamine uute andmetega.

Andmed, mida me LOOBAME kettalt selles protsessis, olid 1 GB( gunzipile) + 2 GB( tõrva jaoks) = 3 GB.

Andmed, mida me WROTE selle protsessi käigus kettale loonud, olid 2 GB( gunzipile) + 2 GB( tõrva jaoks) + mõned baidid metaandmete jaoks = umbes 4 GB.

Way 2

Teil on blah.tar.gz ühel või teisel viisil.

Te otsustate käivitada:

tar xvzf blah.tar.gz

Sellega saab

  • LUGEDA mällu mälukaardi üheaegselt blokeeritud blah.tar.gz 1GB kokkusurutud andmete sisu.
  • PROTSESS koormusandmeid gzip-dekompressoriga mällu.
  • Kui mälupuhver täidab, siis saab see toru , et andmed mälestatakse läbi tõrva vormingu parseri, mis loeb teavet metaandmete jms kohta ning kokkusurumata failide kohta.
  • Kuna tõrkefailide parser täitub mälupuhver, siis kirjuta see CD-le kokkusurumata andmed, luues faile ja katalooge ning täitmata pakkimata sisu.

Andmed, mida me LOOBAME kettalt selles protsessis, olid 1GB kokkusurutud andmed perioodi kohta.

Andmed, mida me WROTE sellel protsessil kettad hõlmasid, oli 2 GB pakkimata andmeid + mõned baidid metaandmete jaoks = umbes 2 GB.

Kui märkate, et Way 2 kettaseadmete sisend / väljund on -i jaoks identne kettale I / O, mida teostavad näiteks Zip või 7-Zip-programmid, kohandades mis tahes suhtelise suhte erinevust.

Ja kui tihendussuhe on teie mure, kasutage tõrva kapseldamiseks Xz-kompressorit ja teil on LZMA2'd TAR-i arhiiv, mis on sama efektiivne kui kõige täiustatud algoritm, mis on saadaval 7-Zip-ile: -)

2. osa: funktsioonid

tarkib failide metaandmetega UNIXi õigusi ja on väga hästi tuntud ja testitud kataloogi edukaks pakkimiseks igasuguste erinevate õiguste, sümboolsete linkide jms abil. On rohkem kui paar juhust, kus võib juhtuda, et võib vaja minna hulga faileühte faili või voogu, kuid mitte tingimata seda kokku suruda( kuigi tihendamine on kasulik ja sageli kasutatav).

3. osa: ühilduvus

Paljud tööriistad levitatakse lähte- või binaarfailina nagu. tar.gz või. tar.bz2, sest see on "madalaim ühine nimetaja" failivorming: sarnaselt enamikule Windowsi kasutajatele on juurdepääs. zip või. rardekompressorid, enamikul Linuxi installatsioonidel, isegi kõige elementaarsematel, on ligipääs vähemalt tar ja gunzipile, olenemata sellest, kui vana või parandatud. Isegi Android-püsivaralistel on juurdepääs nendele tööriistadele.

Uusimaid projekte, mis sihivad kaasaegsetele distributsioonidele mõeldud publikut, võib väga hästi levitada kaasaegsemas vormingus, näiteks. tar.xz( kasutades Xz( LZMA) tihendusvormingut, mis tihendab paremini kui gzip või bzip2) või. 7z, mis on sarnaneZip-faili või RAR-failivormingutega, kuna see nii tihendab kui ka määrab paigutuse mitme faili kapseldamiseks ühte faili.

Sa ei näe. 7z kasutatakse sagedamini samal põhjusel, et muusikat ei müüda veebipõhistest allalaadimisharjumustest uudsetes formaatides nagu Opus või video WebM-is. Kooskõla inimestega, kes kasutavad iidseid või väga põhilisi süsteeme.

Kas teil on seletamiseks midagi lisada? Helistage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Tutvu täieliku arutelu teemaga siit.