Koks yra "Taro" failų formato naudojimo pranašumas šiandien?

Turinys:

Koks yra "Taro" failų formato naudojimo pranašumas šiandien?
Koks yra "Taro" failų formato naudojimo pranašumas šiandien?

Video: Koks yra "Taro" failų formato naudojimo pranašumas šiandien?

Video: Koks yra
Video: What are some creative ways people take advantage of gaming accessibility options? 2024, Balandis
Anonim
 Dirvožemio archyvavimo formatas skaičiuojant metus yra tikrasis Metušalisas, tačiau šiandien jis vis dar naudojamas sunkiai. Kas daro "tar" formatą taip naudingą ilgai po jo sukūrimo?
Dirvožemio archyvavimo formatas skaičiuojant metus yra tikrasis Metušalisas, tačiau šiandien jis vis dar naudojamas sunkiai. Kas daro "tar" formatą taip naudingą ilgai po jo sukūrimo?

Šiandieninė klausimų ir atsakymų sesija pateikiama su "SuperUser" - "Stack Exchange", bendruomenės valdoma Q & A grupių asociacija.

Klausimas

"SuperUser" skaitytojas MarcusJ yra įdomu apie "DUR" formatą ir kodėl mes vis dar naudojame jį per visus šiuos metus:

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?

Tai visiškai pagrįstas klausimas; per pastaruosius trisdešimt metų kompiuterių pasaulyje labai pasikeitė, bet vis dar naudojame "tar" formatą. Kokia istorija?

Atsakymas

"SuperUser" autorius "Allquixotic" siūlo keletą įžvalgų apie "tar" formato ilgaamžiškumą ir funkcionalumą:

Part 1: Performance

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

You have a file on disk

blah.tar.gz

tarkim, 1 GB gzip suspaustų duomenų, kurie nesuspaustų užima 2 GB (tokiu būdu suspaudimo lygis yra 50%).

Tokiu būdu, jei norite tai padaryti, jei atskirai atliktumėte archyvavimą ir suspaudimą, būtų:

tar cf blah.tar files …

Tai sukeltų

blah.tar

kuris yra tik"

files …

nesuspaustos formos.

Tada tu padarei

gzip blah.tar

Tai perskaičiau turinį

blah.tar

iš disko suspauskite juos gzip kompresijos algoritmu, rašykite turinį į

blah.tar.gz

tada atsieti (ištrinti) failą

blah.tar

Dabar atskleiskime!

1 būdas

Tu turi

blah.tar.gz

vienaip ar kitaip.

Jūs nusprendžiate paleisti:

gunzip blah.tar.gz

Tai bus

  • SKAITYTI 1GB suspausto duomenų turinį

    blah.tar.gz

  • Perdirbkite suspaustus duomenis per

    gzip

    dekompresorius atmintyje.

  • Kadangi atminties buferis užpildo "bloko" vertes duomenis, Įrašykite nesuspaustytus duomenis į failą

    blah.tar

    ant disko ir pakartokite, kol bus nuskaityti visi suglaudinti duomenys.

  • Atšaukti (ištrinti) failą

    blah.tar.gz

Dabar turiu

blah.tar

diske, kuris yra nesuspaustų, bet kuriame yra vienas ar keli failai, su labai maža duomenų perdavimo struktūra. Turbūt yra failo dydispora baitų didesnė nei visų failo duomenų suma.

Bėgi:

tar xvf blah.tar

Tai bus

  • SKAITYTI 2GB nesuspaustų duomenų turinį

    blah.tar

    ir

    tar

    failo formato duomenų struktūros, įskaitant informaciją apie failų leidimus, failų pavadinimus, katalogus ir tt

  • Įrašykite 2 GB duomenų ir metaduomenų diską. Tai apima: duomenų struktūros / metaduomenų informacijos vertimą į atitinkamų diskelių ir katalogų sukūrimą, arba perrašymą esamų failų ir katalogų su naujais duomenimis.

Visi duomenys mes SKAITYTI iš disko šiame procese buvo 1 GB (gunzip) + 2 GB (tarui) = 3 GB.

Visi duomenys mes WROTE į diską šiame procese buvo 2 GB (gunzip atveju) + 2 GB (tarui) + keli baitai metaduomenims = apie 4 GB.

2 būdas

Tu turi

blah.tar.gz

vienaip ar kitaip.

Jūs nusprendžiate paleisti:

tar xvzf blah.tar.gz

Tai bus

  • SKAITYTI 1GB suspausto duomenų turinį

    blah.tar.gz

    blokas vienu metu, į atmintį.

  • Perdirbkite suspaustus duomenis per

    gzip

    dekompresorius atmintyje.

  • Kai atminties buferis užpildys, bus vamzdis kad duomenys, atminties, per

    tar

    failo formato analizatorius, kuris perskaitys informaciją apie metaduomenis ir tt bei nesuspaustytus failo duomenis.

  • Kaip atminties buferis užpildo

    tar

    failo analizatorius, WRITE nesuspaustų duomenų į diską, kurdami failus ir katalogus ir užpildydami nesuspaustą turinį.

Visi duomenys mes SKAITYTI iš disko šiame procese buvo 1GB suspausto duomenų, laikotarpis.

Visi duomenys mes WROTE šiame procese diske buvo 2GB nesuspaustų duomenų + keletą baitų metaduomenims = apie 2 GB.

Jei pastebėjote, disko įvesties / išvesties kiekis į 2 būdas yraidentiškas į diską I / O atliekama, tarkim,

Zip

arba

7-Zip

programas, derindamos bet kokius gniuždymo santykio skirtumus.

Ir jei suspaudimo laipsnis yra jūsų rūpestis, naudokite

Xz

kompresorius įkapsuliuoti

tar

ir jūs turite LZMA2'ed TAR archyvą, kuris yra toks pat veiksmingas, kaip ir labiausiai pažengęs algoritmas

7-Zip

:-)

2 dalis. Funkcijos

tar

saugo UNIX leidimus savo failų metaduomenyse ir yra labai gerai žinomas ir išbandytas sėkmingai supakuoti katalogą su įvairiais skirtingais leidimais, simbolinėmis nuorodomis ir tt. Yra daugiau nei keletas atvejų, kai gali reikėti surinkti daugybė failų vieną failą ar srautą, bet nebūtinai suspausti (nors suspaudimas yra naudingas ir dažnai naudojamas).

3 dalis. Suderinamumas

Daugelis įrankių platinami šaltinio arba dvejetainiu formatu kaip.tar.gz arba.tar.bz2, nes tai yra "mažiausias bendrojo vardiklio" failo formatas: daugeliui Windows vartotojų prieiga prie.zip arba.rar dekompresorių, dauguma Linux įrenginių, net paprasčiausias, turės prieigą prie bent dervos ir gunzipo, nesvarbu, kiek senas ar pareduotas. Net "Android" firmware turi prieigą prie šių įrankių.

Nauji projektai, skirti auditorijoms, kuriose naudojami modernūs platinimai, gali labai gerai platinti modernesniu formatu, pvz., ".Tar.xz" (naudojant Xz (LZMA) suspaudimo formatą, kuris suspaudžia geriau nei gzip arba bzip2) arba.7z, kuris yra panašus į Zip arba Rar failų formatus, nes jis abu suspaudžia ir nurodo išdėstymą, apimantį keletą failų į vieną failą.

Jūs nematote.7z dažniau naudojamas dėl tos pačios priežasties, kad muzika nėra parduodama iš internetinių atsisiųstų parduotuvių visiškai naujose formose, tokiose kaip "Opus", arba "WebM" vaizdo įraše. Suderinamumas su žmonėmis, naudojančiais senas ar labai paprastas sistemas.

Ar turite ką nors įtraukti į paaiškinimą? Garsas išjungtas komentaruose.Norite skaityti daugiau atsakymų iš kitų "Tech-savvy Stack Exchange" vartotojų? Patikrinkite visą diskusijų temą čia.

Rekomenduojamas: