Mi az előnye a Tar fájlformátum használatának ma?

Tartalomjegyzék:

Mi az előnye a Tar fájlformátum használatának ma?
Mi az előnye a Tar fájlformátum használatának ma?

Videó: Mi az előnye a Tar fájlformátum használatának ma?

Videó: Mi az előnye a Tar fájlformátum használatának ma?
Videó: Learn and use PowerShell with just three commands - YouTube 2024, Április
Anonim
 A tar archiválási formátum az évek számításánál egy valóságos Methuselah, de még ma is nehéz használatban van. Mi teszi a kátrétegformát ilyen hosszú ideig a kezdete után?
A tar archiválási formátum az évek számításánál egy valóságos Methuselah, de még ma is nehéz használatban van. Mi teszi a kátrétegformát ilyen hosszú ideig a kezdete után?

A mai Kérdések és válaszok munkamenetét a SuperUser - a Stack Exchange, a Q & A weboldalak közösség által irányított csoportosulásának részlegével - köszönheti.

A kérdés

A SuperUser olvasó MarcusJ kíváncsi a kátrányformátumra, és miért használjuk ezeket az évek alatt:

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?

Ez egy teljesen ésszerű kérdés; annyira megváltozott a számítástechnikai világban az elmúlt harminc évben, de még mindig a tar formátumot használjuk. Mi a sztori?

A válasz

A SuperUser közreműködője, az Allquixotic betekintést nyújt a tar formátum élettartamába és funkcionalitásába:

Part 1: Performance

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

You have a file on disk

blah.tar.gz

ami például 1 GB gzip tömörített adat, amely tömörítés nélkül 2 GB-os (tehát 50% -os tömörítési arány).

Ennek módja, ha külön kívánja elvégezni az archiválást és a tömörítést, a következő lenne:

tar cf blah.tar files …

Ez eredményezne

blah.tar

amely csupán a

files …

tömörítetlen formában.

Akkor tennéd

gzip blah.tar

Ez elolvasta

blah.tar

a lemezről tömörítheti őket a gzip tömörítési algoritmuson keresztül, írja be a tartalmat

blah.tar.gz

majd szüntesse meg (törölje) a fájlt

blah.tar

Most bontsuk le!

Út 1

Neked van

blah.tar.gz

így vagy úgy.

Ön úgy dönt, hogy fut:

gunzip blah.tar.gz

Ez lesz

  • Olvassa el a 1 GB - os tömörített adattartalmát

    blah.tar.gz

  • A tömörített adatokat a

    gzip

    dekompresszor a memóriában.

  • Ahogy a memóriapuffer "blokk" értékkel töltődik fel, írja be a tömörítetlen adatokat a fájlba

    blah.tar

    lemezt és ismételje meg mindaddig, amíg az összes tömörített adat el nem olvasható.

  • Törölje a fájlt

    blah.tar.gz

Most van

blah.tar

a merevlemezen, amely tömörítetlen, de egy vagy több fájlt tartalmaz, nagyon alacsony adatstruktúra fölött. A fájl mérete valószínűlegpár bájt nagyobb, mint az összes fájl adat összege.

Te futsz:

tar xvf blah.tar

Ez lesz

  • Olvassa el a 2GB tömörítetlen adat tartalmát

    blah.tar

    és a

    tar

    a fájlformátum adatszerkezete, beleértve a fájlengedélyekkel, a fájlnevekkel, a könyvtárakkal stb. kapcsolatos információkat.

  • Írja be a lemezre a 2 GB-os adatot és a metaadatokat. Ez magában foglalja: az adatszerkezet / metaadat-információk fordítását az új fájlok és könyvtárak létrehozására a lemezen, illetve a meglévő fájlok és könyvtárak átírása új adattartalmakkal.

A teljes adat OLVAS a lemezről ez a folyamat 1 GB volt (gunzip esetén) + 2GB (tar) = 3GB.

A teljes adat ÍRT a lemezre ez a folyamat 2 GB volt (gunzip esetén) + 2 GB (tar) + néhány bájt a metaadatokhoz = körülbelül 4 GB.

2. út

Neked van

blah.tar.gz

így vagy úgy.

Ön úgy dönt, hogy fut:

tar xvzf blah.tar.gz

Ez lesz

  • Olvassa el a 1 GB - os tömörített adattartalmát

    blah.tar.gz

    blokk egy időben, a memóriába.

  • A tömörített adatokat a

    gzip

    dekompresszor a memóriában.

  • Ahogy a memóriapuffer feltöltődik, akkor ez megtörténik pipa hogy az adatok a memóriában a

    tar

    fájlformátum-parser, amely elolvassa a metaadatokról stb. vonatkozó információkat és a tömörítetlen fájladatokat.

  • Ahogy a memóriapuffer feltöltődik a

    tar

    fájl-parser, írja a tömörítetlen adatokat a lemezre, létrehozza a fájlokat és könyvtárakat, és töltse ki azokat a tömörítetlen tartalmakkal.

A teljes adat OLVAS a lemezről ebben a folyamatban 1 GB tömörített adat, időszak.

A teljes adat ÍRT a lemezre ez a folyamat 2 GB tömörítetlen adat + néhány bájt a metaadatokhoz = körülbelül 2 GB.

Ha észreveszi, az I / O lemezének mennyisége 2. út jelentéseazonos az I / O lemezre, mondjuk a

Zip

vagy

7-Zip

programok, a sűrítési arány bármilyen különbségének beállítására.

És ha a tömörítési arány az Ön gondja, használja a

Xz

kompresszor a kapszulázáshoz

tar

és LZMA2-ben van a TAR archívum, amely ugyanolyan hatékony, mint a legfejlettebb algoritmus

7-Zip

:-)

2. rész: Tulajdonságok

tar

tárolja a UNIX-engedélyeket a fájl metaadatai között, és nagyon jól ismert és tesztelt egy könyvtár sikeres csomagolásához különböző típusú engedélyekkel, szimbolikus linkekkel stb. Több olyan eset is létezik, amikor egy csomó fájlt egyetlen fájl vagy adatfolyam, de nem feltétlenül tömöríti azt (bár a tömörítés hasznos és gyakran használatos).

3. rész: Kompatibilitás

Számos eszköz forrásként vagy bináris formában van elosztva.tar.gz vagy.tar.bz2 fájlként, mivel ez egy "legalacsonyabb közös nevező" fájlformátum: nagyon hasonlít a legtöbb Windows-felhasználó számára a.zip vagy.rar dekompresszorokhoz, a legtöbb Linux-telepítéshez, még a legalapvetőbbek is, legalább a kátrány és a gunzip számára hozzáférhetőek, függetlenül attól, hogy mennyire öregek vagy leesettek. Még az Android firmwares is hozzáférhet ezekhez az eszközökhöz.

A modern disztribúciót futtató közönségeket célzó új projektek jóval korszerűbb formátumban oszthatók meg, mint például a.tar.xz (az Xz (LZMA) tömörítési formátumot, amely jobban tömöríti a gzip vagy a bzip2), vagy.7z, a Zip- vagy Rar-fájlformátumokat úgy, hogy mindegyik tömöríti és meghatározza az elrendezést, amely több fájl beillesztését egyetlen fájlba foglalja.

Nem látja, hogy a.7z gyakrabban használta ugyanazt az okot, hogy a zenét nem értékesítik az online letöltési üzletekben olyan új formátumokban, mint az Opus vagy a videó a WebM-ben. Kompatibilitás az ősi vagy nagyon alapvető rendszerekkel rendelkező emberekkel.

Van valami a magyarázathoz? Hangzik ki a megjegyzésekben.Szeretne többet válaszolni a többi technikus-tudós Stack Exchange felhasználóiról? Nézze meg a teljes vitafonalat itt.

Ajánlott: