Koduleht » kuidas » Mis on Tar Tarformaadi kasutamise eeliseks täna?

    Mis on Tar Tarformaadi kasutamise eeliseks täna?


    Tõrva arhiveerimise formaat on andmetöötlusaastatel tõeline metuusala, kuid praegu on see ikka veel raske. Mis teeb tõrvaformaadi nii kaua kasulikuks pärast selle algust?

    Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.

    Küsimus

    SuperUser-lugeja MarcusJ on ​​uudishimulik tariformaadis ja miks me seda kõiki neid aastaid veel kasutame:

    Ma tean, et lindiarhiivide jaoks tehti päeval terve tar, kuid täna on meil arhiveeritud failivormingud, mis koondavad failid ja täidavad tihenduse sama loogilise failivormingu piires.

    Küsimused:

    • Kas agressiooni / kompressiooni / dekompressiooni etappidel on gzipi või bzip2-ga kapseldatud tõrva kasutamisel trahv, võrreldes sama andmestruktuuriga agregatsiooni ja tihendamist teostava failivorminguga? Oletame, et võrreldava kompressori käitusaeg on identne (nt gzip ja Deflate on sarnased).
    • Kas on olemas tõrva failivormingu funktsioone, mida muudel failivormingutel, näiteks .7z ja .zip ei ole?
    • Kuna tõrv on selline vana failivorming ja tänapäeval eksisteerivad uuemad failivormingud, siis miks on tõrv (kas kapseldatud gzip, bzip2 või isegi uus xz) tänapäeval nii laialdaselt kasutatud GNU / Linuxi, Androidi, BSD ja teiste selliste UNIX-i puhul operatsioonisüsteemid, failiedastused, programmiallikad ja binaarsed allalaadimised ning mõnikord isegi pakettide halduri vormingus?

    See on täiesti mõistlik küsimus; nii palju on viimasel kolmkümmend aastat muutunud arvutustehnikas, kuid me kasutame ikka veel tar formaati. Mis on lugu?

    Vastus

    SuperUser'i toetaja Allquixotic pakub mõningast arusaama tõrvaformaadi pikaealisusest ja funktsionaalsusest:

    Osa 1: Toimivus

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

    Teil on kettal fail blah.tar.gz mis on, näiteks, 1 GB gzip-kokkusurutud andmeid, mis pakkimata kujul hõivab 2 GB (seega kompressioonisuhe 50%).

    See, kuidas te seda luua, kui te peaksite arhiveerima ja pakkima eraldi, oleks:

    tar cf blah.tar failid ... 

    See tooks kaasa blah.tar mis on pelgalt ELis failid…  pakkimata kujul.

    Siis sa teeksid

    gzip blah.tar 

    See loeks sisu blah.tar ketast, tihendage need läbi gzip-tihendusalgoritmi, kirjutage sisu blah.tar.gz, seejärel eemalda (kustuta) fail blah.tar.

    Nüüd laseme lahti!

    Tee 1

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

    Te otsustate käivitada:

    gunzip blah.tar.gz 

    See on

    • LUGEGE 1GB tihendatud andmete sisu blah.tar.gz.
    • PROCESS pressitud andmeid läbi gzip dekompressor mälus.
    • Kuna mälupuhver täidab “ploki” väärtusega andmeid, kirjutage tihendamata andmed failiblah.tar kettale ja korrake, kuni kõik tihendatud andmed loetakse.
    • Faili lahtiühendamine (kustutamine) blah.tar.gz.

    Nüüd, sul on blah.tar kettal, mis on pakkimata, kuid sisaldab ühte või mitut faili, millel on väga väike andmestruktuur. Tõenäoliselt on faili suurus paar baiti suurem kui kõigi failiandmete summa.

    Sa jooksed:

    tar xvf blah.tar 

    See on

    • LUGEGE 2 GB kompressimata andmete sisu blah.tar ja tõrv failivormingu andmestruktuurid, sealhulgas teave failide õiguste, failinimede, kataloogide jne kohta.
    • KIRJUTAGE kettale 2 GB andmeid ja metaandmeid. See hõlmab: andmete struktuuri / metaandmete informatsiooni tõlkimist vastavalt vajadusele uute failide ja kataloogide loomiseks või olemasolevate failide ja kataloogide ümberkirjutamist uute andmete sisuga.

    Me kogutud andmed LUGEGE selles protsessis oli plaadilt 1GB (gunzip) + 2GB (tõrva jaoks) = 3GB.

    Me kogutud andmed WROTE selles protsessis oli kettale 2GB (gunzip) + 2GB (tar) + mõne baiti metaandmete jaoks = umbes 4GB.

    Tee 2

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

    Te otsustate käivitada:

    tar xvzf blah.tar.gz 

    See on

    • LUGEGE 1GB tihendatud andmete sisu blah.tar.gz, blokeerida korraga mällu.
    • PROCESS pressitud andmeid läbi gzip dekompressor mälus.
    • Kuna mälupuhver täidab, siis ta seda teeb toru neid andmeid mällu, kuni tõrv failivormingu parser, mis loeb teavet metaandmete jms kohta ja tihendamata failiandmeid.
    • Kuna mälupuhver täidab tõrv faili parser, kirjutab see tihendamata andmed kettale, luues faile ja katalooge ning täites need tihendamata sisuga.

    Me kogutud andmed LUGEGE selles protsessis oli plaadilt 1 GB tihendatud andmeid, periood.

    Me kogutud andmed WROTE selles protsessis oli kettale 2 GB tihendamata andmeid + paar baiti metaandmete = umbes 2 GB kohta.

    Kui märkate, on kettale I / O sisestatud summa Tee 2 on identsed kettale I / O, mida teostavad näiteks Zip või7-Zip programme, kohandades kompressioonisuhte erinevusi.

    Kui kompressioonisuhe on teie probleem, kasutage seda Xz kompressori kapseldamiseks tõrv, ja teil on LZMA2'ed TAR-arhiiv, mis on sama tõhus kui kõige arenenum algoritm 7-Zip :-)

    2. osa: Omadused

    tõrv salvestab UNIX-i õigused oma metaandmetesse ja on väga hästi teada ja testitud kataloogi edukaks pakkimiseks igasuguste erinevate õigustega, sümboolsete linkidega jne. On rohkem kui üksikud juhud, kus võib tekkida vajadus koondada hulk faile üks fail või voog, kuid ei pruugi seda tihendada (kuigi tihendamine on kasulik ja sageli kasutatav).

    Osa 3: Ühilduvus

    Paljud tööriistad on jaotatud allikana või binaarses vormis .tar.gz või .tar.bz2 kujul, kuna see on "madalaim ühine nimetaja" failivorming: sarnaselt enamiku Windowsi kasutajatega on juurdepääs .zip või .rar dekompressoritele, enamikule Linuxi installatsioonidele, isegi kõige elementaarsem, on ligipääs vähemalt tõrvale ja gunzipile, olenemata sellest, kui vana või parsitud. Neile tööriistadele on juurdepääs ka Android firmwares'il.

    Uued projektid, mis on suunatud kaasaegseid levitusi kasutavatele sihtrühmadele, võivad väga hästi jagada moodsamas 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-failivormingud nii, et see tihendab ja määrab mitme faili ühte faili kapseldamiseks paigutuse.

    Te ei näe .7z kasutamist sagedamini samal põhjusel, et muusikat ei müüda veebipõhistest allalaadimiskaupadest täiesti uutes vormingutes, nagu Opus või WebMobis. Ühilduvus vanade või väga põhiliste süsteemidega töötavate inimestega.


    Kas teil on midagi lisada selgitusele? Hääletage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.