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

Sisukord:

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

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

Video: Milline on eelis, kui kasutada tar-failiformaati täna?
Video: Windows Event and Logging for the IT Pro - YouTube 2024, Aprill
Anonim
 Tõrva arhiveerimise formaat on arvutamise aastatel tõeline Metususala, kuid see on tänapäeval endiselt raskeks kasutuseks. Mis muudab tar vormi nii kasulikuks ka pärast selle algust?
Tõrva arhiveerimise formaat on arvutamise aastatel tõeline Metususala, kuid see on tänapäeval endiselt raskeks kasutuseks. Mis muudab tar vormi nii kasulikuks ka pärast selle algust?

Tänane küsimuste ja vastuste seanss jõuab meile viisakalt SuperUserini - Stack Exchange'i ja kogukonnapõhiste Q & A veebisaitide rühmitusse.

Küsimus

SuperUseri lugeja MarcusJ on uudishimulik tarformaali kohta ja seda, miks me kasutame seda ikkagi pärast kõiki neid aastaid:

I know that tar was made for tape archives back in the day, but today we have archive file formats that both aggregate files and perform compression within the same logical file format.

Questions:

  • Is there a performance penalty during the aggregation/compression/decompression stages for using tar encapsulated in gzip or bzip2, when compared to using a file format that does aggregation and compression in the same data structure? Assume the runtime of the compressor being compared is identical (e.g. gzip and Deflate are similar).
  • Are there features of the tar file format that other file formats, such as.7z and.zip do not have?
  • Since tar is such an old file format, and newer file formats exist today, why is tar (whether encapsulated in gzip, bzip2 or even the new xz) still so widely used today on GNU/Linux, Android, BSD, and other such UNIX operating systems, for file transfers, program source and binary downloads, and sometimes even as a package manager format?

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?

Vastus

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

Part 1: Performance

Here is a comparison of two separate workflows and what they do.

You have a file on disk

blah.tar.gz

mis on näiteks 1 GB gzip-kokkusurutud andmeid, mis kokkuostutena mahutavad 2 GB (nii surveaste on 50%).

Nii, nagu te seda teeksite, kui peaksite eraldi arhiveerima ja pakkima, oleks:

tar cf blah.tar files …

See tooks kaasa

blah.tar

mis on lihtsalt koondatud

files …

tihendamata kujul.

Siis teete

gzip blah.tar

See loeb sisu

blah.tar

ketast, pakkige neid gzip-pakkimisalgoritmi abil, sisestage sisu

blah.tar.gz

siis lahutage (kustuta) fail

blah.tar

Nüüd laseme lahti!

Tee 1

Sul on

blah.tar.gz

ühel või teisel viisil.

Te otsustate joosta:

gunzip blah.tar.gz

See on

  • LUGEGE 1GB tihendatud andmete sisu

    blah.tar.gz

  • Protsessi abil saate survestatud andmeid läbi

    gzip

    dekompressor mälus.

  • Kuna mälu puhver täidab "plokk" väärt andmeid, kirjuta kokkusurutud andmed faili

    blah.tar

    kettale ja korrake, kuni kõik kokkusurutud andmed loetakse.

  • Faili eemaldamine (kustutamine)

    blah.tar.gz

Nüüd sul on

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 arvatavastipaar baiti suurem kui kõigi failide andmete summa oleks.

Sa jooksed:

tar xvf blah.tar

See on

  • LUGEGE 2 GB tihendamata andmete sisu

    blah.tar

    ja

    tar

    failivormingu andmestruktuurid, sealhulgas teave failiõiguste, failinimede, kataloogide jne kohta.

  • KIRJUTAGE 2 GB andmete ja metaandmete salvestamiseks. 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 kokku LUGEGE ketast selles protsessis oli 1 GB (gunzipile) + 2 GB (tõrva jaoks) = 3 GB.

Andmed kokku WROTE selle protsessi ketas oli 2 GB (gunzipile) + 2 GB (tõrva jaoks) + mõned baidid metaandmete jaoks = umbes 4 GB.

Tee 2

Sul on

blah.tar.gz

ühel või teisel viisil.

Te otsustate joosta:

tar xvzf blah.tar.gz

See on

  • LUGEGE 1GB tihendatud andmete sisu

    blah.tar.gz

    plokk korraga, mällu.

  • Protsessi abil saate survestatud andmeid läbi

    gzip

    dekompressor mälus.

  • Kui mälu puhver täidab, siis see saab toru need andmed, mällu, kuni

    tar

    failiformaadi parser, mis loeb teavet metaandmete jms kohta ning tihendamata failiandmete kohta.

  • Kuna mälu puhver täidab

    tar

    faili parser, kirjutab see CD-le kokkusurumata andmed, luues faile ja katalooge ning lisades neid pakkimata sisu.

Andmed kokku LUGEGE kettalt selles protsessis oli 1GB kokkusurutud andmeid, ajavahemik.

Andmed kokku WROTE selle protsessi ketas oli 2 GB pakkimata andmeid + mõned baidid metaandmete jaoks = umbes 2 GB.

Kui märkate, on ketta sisend / väljaminek Tee 2 onidentne kettale I / O, mida teostab näiteks

Zip

või

7-Zip

programmid, mis kohanduvad kokkusurumise suhte erinevustega.

Ja kui tihendussuhe on teie mure, siis kasutage

Xz

kompressor kapseldada

tar

ja teil on LZMA2'd TARi arhiiv, mis on sama efektiivne kui kõige arenenum algoritm, mis on saadaval

7-Zip

:-)

Osa 2: funktsioonid

tar

salvestab UNIXi õigused oma failide metaandmetes ning on väga hästi tuntud ja testitud, et edukalt pakendada kataloogi igasuguste erinevate õigustega, sümboolsed lingid jne. On rohkem kui paar juhust, kus võib tekkida vajadus hoida hulga faile üks fail või voog, kuid mitte tingimata seda kokku suruda (kuigi tihendamine on kasulik ja tihti kasutatakse).

3. osa: ühilduvus

Paljud tööriistad levitatakse lähte- või binaarfailina nagu.tar.gz või.tar.bz2, sest see on "madalaima ühise nimetajaga" failivorming: nagu enamikel Windowsi kasutajatel on juurdepääs.zip või.rar dekompressoritele, enamik Linuxi installimisi, isegi kõige elementaarsem on ligipääs vähemalt tõrva ja gunzipile, olenemata sellest, kui vana või parandatud. Isegi Android-püsivaralistel on juurdepääs nendele tööriistadele.

Uusimad projektid, mis sihivad tänapäeva distributsiooni kasutavaid külastajaid, võivad väga hästi levitada kaasaegsemas vormingus, näiteks.tar.xz (kasutades Xz (LZMA) tihendusformaati, mis tihendab paremini kui gzip või bzip2) või.7z, mis on sarnane Zip- või RAR-failivorminguid nii, et see nii pakkib kui ka määrab paigutuse mitme faili kapseldamiseks ühte faili.

Te ei näe.7z sagedamini sama põhjusel, et muusikat ei müüda veebipõhiste allalaadimisharjumuste uudsetest formaatidest nagu Opus või veebimoodulis. 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.

Soovitan: