Homepage » hogyan kell » 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?


    A tar-archiválási formátum számítási években egy valóságos metálzsálem, de még ma is nehéz használatban van. Mi teszi a tar-formát olyan hasznosnak, ameddig a kezdete óta van?

    A mai Kérdések és válaszok munkamenet a Jóvagyon - a Stack Exchange alosztályának, a közösség által vezérelt Q&A webhelyek csoportjának köszönhetően..

    A kérdés

    A MarcusJ SuperUser olvasó kíváncsi a tar formátumra, és miért használjuk azt még az összes év után:

    Tudom, hogy a nap folyamán a szalagos archívumokhoz készült kátrányt készítettek, de ma már archív fájlformátumok vannak, amelyek mind a fájlokat összesítik, mind a tömörítést ugyanabban a logikai fájlformátumban hajtják végre.

    Kérdések:

    • Van-e teljesítménycsökkentés a gzipbe vagy bzip2-be burkolt kátrány-aggregálási / tömörítési / dekompressziós fázisok során, összehasonlítva ugyanazon adatstruktúrában az aggregációt és tömörítést végző fájlformátummal? Tegyük fel, hogy az összehasonlítható kompresszor futási ideje azonos (pl. Gzip és Deflate hasonló).
    • Vannak-e olyan tar fájlformátumok, amelyek más fájlformátumok, például .7z és .zip nem rendelkeznek?
    • Mivel a tar egy ilyen régi fájlformátum, és újabb fájlformátumok léteznek ma, miért van még a tar (akár gzipbe, bzip2-be vagy akár az új xz-be is kapszulázva) még ma is széles körben használt GNU / Linux, Android, BSD és más ilyen UNIX-on operációs rendszerek, fájlátvitel, programforrás és bináris letöltések, és néha csomagkezelő formátumban 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?

    A válasz

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

    1. rész: Teljesítmény

    Itt két külön munkafolyamat és az általuk végzett munka összehasonlítása.

    Van egy fájl a lemezen blah.tar.gz azaz 1 GB gzip-tömörített adat, amely tömörítés nélkül 2 GB-ot foglal el (így 50% -os tömörítési arány).

    Az, ahogyan ezt létrehozná, ha külön-külön archiválná és tömörítené, az lenne:

    tar cf blah.tar fájlok… 

    Ez azt eredményezné, hogy blah.tar ami a. \ t fájlok ...  tömörítetlen formában.

    Akkor tennéd

    gzip blah.tar 

    Ez olvassa el a tartalmát blah.tar lemezről, tömörítse őket a gzip tömörítési algoritmuson keresztül, írja be a tartalmat blah.tar.gz, majd törölje (törölje) a fájlt blah.tar.

    Most dekompressáljuk!

    1. út

    Neked van blah.tar.gz, így vagy úgy.

    Úgy dönt, hogy futtatja:

    gunzip blah.tar.gz 

    Ez lesz

    • OLVASSA el az 1 GB-os tömörített adatok tartalmát blah.tar.gz.
    • PROCESS a tömörített adatokat a gzip dekompresszor a memóriában.
    • Mivel a memóriapuffer „blokk” értéket tölt be, írja le a tömörítetlen adatokat a fájlbablah.tar a lemezen, és ismételje meg mindaddig, amíg az összes tömörített adatot le nem olvassa.
    • Kapcsolja ki (törölje) a fájlt blah.tar.gz.

    Most már van blah.tar lemezen, amely tömörítetlen, de benne egy vagy több fájlt tartalmaz, nagyon alacsony adatstruktúrával. A fájl mérete valószínűleg egy pár bájt nagyobb, mint az összes fájladat összege.

    Te futsz:

    tar xvf blah.tar 

    Ez lesz

    • OLVASSA el a 2 GB-os tömörítetlen adat tartalmát blah.tar és a kátrány fájlformátum-struktúrák, beleértve a fájljogosultságokról, a fájlnevekről, a könyvtárakról stb.
    • Írjon lemezre a 2 GB-os adatot és a metaadatokat. Ez magában foglalja a következőket: az adatszerkezet / metaadat információk fordítása az új fájlok és könyvtárak létrehozásához a lemezen, illetve a meglévő fájlok és könyvtárak új adattartalmú átírása.

    Az összes adat OLVAS ebben a folyamatban a lemezről 1 GB volt (gunzip esetén) + 2 GB (tar) esetén = 3 GB.

    Az összes adat ÍRT ebben a folyamatban a lemezre 2 GB volt (a gunzip esetében) + 2 GB (a tar esetében) + néhány bájt a metaadatokhoz = kb. 4 GB.

    2. út

    Neked van blah.tar.gz, így vagy úgy.

    Úgy dönt, hogy futtatja:

    tar xvzf blah.tar.gz 

    Ez lesz

    • OLVASSA el az 1 GB-os tömörített adatok tartalmát blah.tar.gz, egy blokk egyszerre, a memóriába.
    • PROCESS a tömörített adatokat a gzip dekompresszor a memóriában.
    • Ahogy a memóriapuffer kitölti, akkor ez megtörténik pipa az adatokat, a memóriában, a kátrány fájlformátum-értelmező, amely elolvassa a metaadatokkal kapcsolatos információkat stb. és a tömörítetlen fájladatokat.
    • Mivel a memóriapuffer kitölti a kátrány fájlelemző, akkor írja le a tömörítetlen adatokat lemezre, fájlok és könyvtárak létrehozásával és a tömörítetlen tartalommal való kitöltésével.

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

    Az összes adat ÍRT a lemezre ebben a folyamatban 2 GB tömörítetlen adat + néhány bájt volt a metaadatokhoz = kb. 2 GB.

    Ha észreveszi, az I / O lemez mennyisége 2. út jelentése azonos az I / O lemezre, amelyet a Postai irányítószám vagy7-Zip programokat, beállítva a kompressziós arány bármilyen különbségét.

    És ha a tömörítési arány az Ön problémája, használja a xz kompresszort kapszulázni kátrány, és LZMA2'ed TAR archívuma van, ami ugyanolyan hatékony, mint a legfejlettebb algoritmus 7-Zip :-)

    2. rész: Jellemzők

    kátrány tárolja a UNIX jogosultságokat a fájl metaadatain belül, és nagyon jól ismert és tesztelt egy könyvtár sikeres csomagolásához mindenféle különböző jogosultsággal, szimbolikus hivatkozással stb. Több, mint néhány eset, amikor lehet, hogy egy csomó fájlt be kell fektetni egyetlen fájl vagy adatfolyam, de nem feltétlenül tömöríteni (bár a tömörítés hasznos és gyakran használt).

    3. rész: Kompatibilitás

    Sok eszközt forrás vagy bináris formában osztanak meg .tar.gz vagy .tar.bz2 formátumban, mert ez a „legalacsonyabb közös nevező” fájlformátum: a legtöbb Windows-felhasználóhoz hasonlóan hozzáférhető a .zip vagy .rar dekompresszorok, a legtöbb Linux telepítés, még a legalapvetőbb is, legalább a kátrány és a pisztolyokhoz való hozzáférés, függetlenül attól, hogy milyen régi vagy le van állítva. Még az Android cégek is hozzáférhetnek ezekhez az eszközökhöz.

    A modern disztribúciókat futtató közönségeket célzó új projektek nagyon jól eloszthatók egy modern formátumban, például .tar.xz-ben (az Xz (LZMA) tömörítési formátum használatával, amely jobban tömöríti a gzipet vagy a bzip2-t), vagy .7z, ami hasonló a a Zip- vagy Rar-fájlformátumokban, hogy egyaránt tömöríti és meghatározza az elrendezést több fájl egyetlen fájlba történő beágyazására.

    Nem látja, hogy a .7z-t gyakrabban használják ugyanezen okból, hogy a zene az online letöltési áruházakból nem kerül értékesítésre új formátumban, például az Opus-on vagy a WebMobban. Kompatibilitás az ősi vagy nagyon alapvető rendszereket futtató emberekkel.


    Van valami, amit hozzá kell adni a magyarázathoz? Kikapcsolja a megjegyzéseket. Szeretne további válaszokat olvasni más tech-savvy Stack Exchange felhasználóktól? Nézze meg a teljes beszélgetés szálát itt.