21Aug
A tar archiválási formátum az évek számításánál egy valódi Methuselah, de még ma is komoly használatban van. Mi teszi a kátrétegformát ilyen hosszú ideig a kezdete után?
A mai kérdés &A válaszüzenet a SuperUser - a Stack Exchange megosztottságának köszönhetően - a Q & A webhelyek közösségi szintű csoportosítása.
A kérdés
SuperUser olvasó MarcusJ kíváncsi a tar formátumra, és miért használjuk ezt az utóbbi évek során:
Tudom, hogy a szalag archívumokat a nap folyamán korábban készítették, de ma már archiváljuk azokat a fájlformátumokat,összesített fájlokat és tömörítést végez ugyanabban a logikai fájlformátumban.
Kérdések:
- Van-e teljesítménysérülés az /compression/ dekódolási szakasz összesítése során a gzip vagy bzip2-be beágyazott tar használatával, összehasonlítva egy olyan fájlformátum használatával, amely az aggregációt és a tömörítést ugyanabban az adatszerkezetben végzi? Tegyük fel, hogy a kompresszor futási idejének összehasonlítása azonos( például a gzip és a Deflate hasonlóak).
- Van olyan tar fájlformátum, amelyet más fájlformátumok, például. 7z és. zip nem tartalmaznak?
- Mivel a tar olyan régi fájlformátum, és újabb fájlformátumok léteznek ma, miért van ma( GNZ / Linux, Android, BSD stb.) A tar( akár gzip, bzip2 vagy akár az új xz) beágyazvaUNIX operációs rendszereket, fájlátviteleket, programforrásokat és bináris letöltéseket, és néha csomagkezelő formátumként is?
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?
Az
válasz A SuperUser közreműködője Az Allquixotic némi betekintést nyújt a tar formátum élettartamához és funkcionalitásához:
1. rész: Teljesítmény
Itt két különböző munkafolyamat és az általuk végzett munka összehasonlítása.
Van egy fájl a blah.tar.gz lemezen, ami például 1 GB gzip tömörített adat, amely tömörítés nélkül 2 GB-ot foglal el( tehát 50% -os tömörítési arányt).
Az, hogy ezt létrehoznád, ha külön kívánja elvégezni az archiválást és a tömörítést, az
tar cf blah.tar fájlokat. ..Ez a blah.tar-t eredményezné, ami a fájlok puszta összesítése.tömörítetlen formában.
Akkor csinálnod kell az
gzip blah.tarEzzel olvashatnod le a blah.tar tartalmáról a lemezről, tömörítheted őket a gzip tömörítési algoritmuson keresztül, írd a tartalmat blah.tar.gz fájlra, majd szüntesse meg a( bla) fájl törlését.kátrány.
Most bontsuk le!
Az 1-es út
A blah.tar.gz-nek van egy módja.
Úgy dönt, hogy futtatja:
gunzip blah.tar.gzEz
- OLVASSA EL a blah.tar.gz 1 GB-os tömörített adattartalmát.
- ELJÁRJA a tömörített adatokat a gzip dekompresszoron keresztül a memóriában.
- Mivel a memóriapuffer "blokk" értékkel töltődik fel, írja be a tömörítetlen adatokat a fileblah.tar fájlba a lemezen és ismételje meg, amíg az összes tömörített adat elolvasható.
- A blah.tar.gz fájl törlése( törlés).
Most már van blah.tar a lemezen, amely tömörítetlen, de egy vagy több fájlt tartalmaz benne, nagyon alacsony adatszerkezet fölött. A fájl mérete valószínűleg pár bájt nagyobb, mint az összes fájl adat összege.
Futtat:
tar xvf blah.tarEzzel
- olvashatja a blah.tar és a tar fájlformátumának 2 GB-os tömörítetlen adat tartalmát, beleértve a fájlengedélyekkel, fájlnevekkel, könyvtárakkal stb. Kapcsolatos információkat.
- WRITE a lemezrea 2 GB-os adat és a metaadatok. 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.
Az READ összes adata ebben a folyamatban 1 GB( gunzip) + 2 GB( tar) = 3 GB esetén.
Az WROTE -hez tartozó összes adata ebben a folyamatban 2 GB( gunzip) + 2 GB( tar) + néhány bájt a metaadatokhoz = kb. 4 GB.
Way 2
A blah.tar.gz-nek van egy módja.
Úgy dönt, hogy futtatja:
tar xvzf blah.tar.gzEzzel
- olvashatja a blah.tar.gz 1 GB tömörített adattartalmát, egy blokkot egy időben a memóriába.
- PROCESS a tömörített adatokat a gzip dekompresszoron keresztül a memóriában.
- Ahogy a memóriapuffert feltölti, az cső lesz, hogy a memóriában lévő adatokat a tar fájlformátum-parserhez, amely elolvassa a metaadatokra vonatkozó információkat stb. És a tömörítetlen fájladatokat.
- Ahogy a memóriapuffert kitöltik a tar fájl-parserben, a tömörítetlen adatokat a lemezre írja, fájlok és könyvtárak létrehozásával és tömörítetlen tartalmakkal való kitöltésével.
Az READ összes adata a lemezről ebben a folyamatban 1 GB tömörített adat, időszak.
Az WROTE -hez tartozó összes adata ebben a folyamatban 2 GB tömörítetlen adat + néhány bájt a metaadatokhoz = körülbelül 2 GB.
Ha észleli, hogy az Way 2 lemez I / O mennyisége azonos az I / O lemezre, például a Zip or7-Zip programokkal, a sűrítési arány különbségeinek megfelelően.
Ha a tömörítési arány az Ön gondja, használja az Xz kompresszort a kátrányzásra, és LZMA2'ed TAR archívummal rendelkezik, amely ugyanolyan hatékony, mint a legfejlettebb 7-Zip-algoritmus: -)
2. rész: Tulajdonságok
A tar tárolja a UNIX engedélyeket a fájl metaadataiban, és nagyon jól ismert és tesztelt egy könyvtár sikeres csomagolásához, mindenféle különböző jogosultsággal, szimbolikus linkekkel stb. Több olyan eset is létezik, amikor egy csomó fájltegyetlen fájlba vagy adatfolyamba, de nem feltétlenül tömöríteni( bár a tömörítés hasznos és gyakran használatos).
3. rész: Kompatibilitás
Sok eszközt forrásként vagy bináris formában osztanak szét. tar.gz vagy. tar.bz2, mert ez egy "legalacsonyabb közös nevező" fájlformátum: olyan, mint a legtöbb Windows-felhasználó számára. zip vagy. rardecompresszorok, a legtöbb Linux telepítés, még a legalapvetőbb is, legalább a kátrány és a gunzip számára hozzáférhető lesz, függetlenül attól, hogy mennyire öregek vagy lebomlanak. 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 terjeszthetők, például. tar.xz( az Xz( LZMA) tömörítési formátumot használva, amely jobban tömöríti a gzip vagy a bzip2) vagy a. zz fájlt, amely hasonlóa Zip- vagy a Rar-fájlformátumokba úgy, hogy mindegyik tömöríti és megadja az elrendezést, ha több fájlt egyetlen fájlba beágyaz.
Nem látja a. 7z gyakrabban használt ugyanazon okból, hogy a zenét nem értékesítik az online letöltési boltokban 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, amit hozzá lehet adni 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.