TAR archívum formátum

A tar archívum formátum megbízható módot kínál a fájlok tárolására. Bájtonként megőrzi az eredeti adatokat, és az elején hozzáad egy 512 bájtos fejlécet. A fájlméretek is úgy vannak beállítva, hogy szépen illeszkedjenek az 512 bájtos blokkokhoz. Érdekes módon a fejléc tartalmaz egy beépített ellenőrző összeget a hibaészleléshez. Bár a szabványos tar segédprogram kihagyhatja a sérült fejléceket (és ennek következtében a kapcsolódó fájlokat), folytatja az archívum többi részének feldolgozását, biztosítva, hogy továbbra is hozzáférjen a sértetlen fájlokhoz.

A TAR archívum információiról

A tar fájlformátumot, a “szalagarchívum” rövidítését a tar segédprogram hozza létre UNIX rendszerekben. Archívumként szolgál a fájlok összecsomagolásához olyan feladatokhoz, mint a biztonsági mentés vagy a terjesztés. A tömörített archívumformátumokkal ellentétben a tar fájlok több fájlt, más néven tarballt tárolnak tömörítetlen formátumban az archívum metaadataival együtt. Bár maguk a tar fájlok nincsenek tömörítve, a hatékony tárolás és átvitel érdekében tömöríthetők olyan segédprogramokkal, mint a gzip vagy a bzip2.
Mivel maga a tar fájlformátum nem tartalmaz beépített tömörítést, a tar archívumokat gyakran olyan külső segédprogramokkal tömörítik, mint a gzip, bzip2, XZ (7-Zip / p7zip LZMA / LZMA2 tömörítési algoritmusokat használva), Brotli, Zstandard , és hasonló eszközök. Ez a tömörítés segít csökkenteni az archívum méretét a könnyebb hordozhatóság és a hatékony adatmentés érdekében. Az ebből a folyamatból származó tömörített fájlok egyetlen kiterjesztéssel rendelkezhetnek, például tgz, tbz, txz, tzst, vagy kettős kiterjesztéssel, például tar.gz, tar.br, tar.bz2, tar.xz, tar.zst.

A TAR archívum formátumának fejlődése

A tar archívum formátum az idők során fejlődött. Az 1980-as évek óta a tar segédprogramhoz hozzáadott új funkciók olyan formátumbővítményekhez vezettek, amelyek további információkat tartalmaznak a jobb funkcionalitás érdekében. A korai tar formátumok nem voltak egységesek a numerikus mezők tárolási módjában, de a későbbi verziókban a hordozhatóság javítása érdekében ezt megoldották. Ez a fejlesztés a tar formátumokra vonatkozó első POSIX-szabvánnyal kezdődött 1988-ban.
A POSIX.1 2001 bevezette a “kiterjesztett tar” formátumot (más néven tar.h vagy pax). Ez a formátum a legrugalmasabb, és más tar-specifikációk funkcióit is magában foglalja. Lehetővé teszi a szállítók számára, hogy egyedi funkciókat adjanak hozzá címkék segítségével. Bár a dokumentáció rávilágít arra, hogy nem minden tar implementáció képes tökéletesen kezelni ezt a formátumot, kialakítása biztosítja, hogy minden olyan eszköz, amely képes olvasni az “ustar” archívumokat, a legtöbb “posix” archívumot is olvassa. Ezenkívül a POSIX.1 2001 megszüntette a tar-archívumok korábbi 8 GB-os fájlméret-korlátozását.

TAR szerkezet

A TAR archívum lényegében adatblokkok sorozata. Ezek a rögzített méretű 512 bájtos blokkok lineárisan vannak elrendezve. Az archívum végét két egymást követő blokk nullákkal jelzi.
Logikusan nézve azonban a TAR archívum fájlbejegyzések sorozata. Minden bejegyzés több blokkból áll, és mindig az első blokk a bejegyzés fejléce. A fennmaradó blokkok a tényleges fájltartalmat tárolják.
A bejegyzés fejlécén belül
A bejegyzés fejléce az archívumban lévő minden egyes fájl tervrajzaként működik. A következő információkat tartalmazza

  • Fájlnév (100 bájt): A bejegyzésben tárolt fájl neve.
  • Fájlengedélyek (8 bájt): A fájl eléréséhez szükséges engedélyek, oktális karakterláncként ábrázolva.
  • Tulajdonos azonosító (8 bájt): A fájl tulajdonosának numerikus felhasználói azonosítója (oktális formátum).
  • Csoportazonosító (8 bájt): A fájl tulajdonosának numerikus csoportazonosítója (oktális formátum).
  • Fájlméret (12 bájt): A fájl mérete oktális formátumban.
  • Utolsó módosítás ideje (12 bájt): Az utolsó fájlmódosítás oktális időbélyege.
  • Ellenőrző összeg (8 bájt): A fejléc adatok integritásának ellenőrzésére használt ellenőrző összeg.
  • Fájltípus (1 bájt): A tárolt fájl típusát jelzi (normál fájl, merev hivatkozás vagy szimbolikus hivatkozás).
  • Hivatkozott fájl neve (változó hosszúságú): Ha a bejegyzés egy hivatkozás (kemény vagy szimbolikus), ez a mező a hivatkozott fájl nevét tárolja.

Ennek a formátumnak az előnyei

  • Sokoldalúság - A TAR egy sokoldalú formátum, amely képes több fájl és könyvtár tárolására egyetlen archív fájlban, így alkalmas a különféle biztonsági mentési és terjesztési igényekre.
  • A fájlattribútumok megőrzése A TAR megőrzi a fontos fájlattribútumokat, például az engedélyeket, a tulajdonjogot és az időbélyegeket, így biztosítva, hogy az archivált adatok megőrizzék sértetlenségüket és használhatóságukat.
  • Egyszerűség - A TAR-fájlok szerkezete egyszerű és egyértelmű, így könnyen kezelhető és feldolgozható. Ez leegyszerűsíti a TAR archívumokkal kapcsolatos feladatok programozását és automatizálását.

TAR Archívum Támogatott műveletek

Az Aspose.ZIP lehetővé teszi a felhasználó számára, hogy egy adott bejegyzést vagy a teljes archívumot kibontsa. Aspose.ZIP for .NET esetén A TarArchiveClass segítségével megnyithatja a .tar.gz fájlt, majd ismételheti a bejegyzéseit, és kibonthatja azokat a kívánt helyre. Aspose.ZIP for Java esetén Hasonló megközelítés a TarArchive használatával a .tar.gz fájl megnyitásához és a bejegyzések kibontásához.

TAR-fájl – Belső szerkezet

A szegmensfájlok nyers adatokat tárolnak egy szegmensről. Míg különböző szegmenstípusok léteznek, a TAR-fájlok csak az adat- és a tömeges szegmensek között tesznek különbséget. A tömeges szegmensek közvetlenül „ahogy vannak” mentésre kerülnek a TAR fájlba.
Az adatszegmenseket azonban megvizsgáljuk, hogy találjunk hivatkozásokat más szegmensekre vagy nyers bináris tartalomra. Ezeket a hivatkozásokat a rendszer egyszerűen egyedi azonosítók (UUID) listájaként tárolja az adatszegmensen belül. A hivatkozott szegmensek az aktuális TAR-fájlban vagy azon kívül is elhelyezkedhetnek.
A belső hivatkozásokat a TAR fájl indexének ellenőrzésével találja meg. A külső hivatkozásokhoz külső eszközre van szükség a szegmens megkereséséhez egy másik TAR-fájlban. Az adatszegmens hivatkozott szegmenseinek listája a grafikonfájlban tárolódik a gyorsabb visszakeresés érdekében. Ezt a listát a keresési folyamat optimalizálása érdekében rendezzük.

TAR-fájl – Belső szerkezet

Belső archívum szerkezete

  • Fájl metaadatai - A tar archívumhoz hasonlóan minden fájl alapvető információkat tárol, például a módosítási időt és az engedélyeket. Ez a szakasz azonban rugalmas, és lehetővé teszi további részletek, például hozzáférés-vezérlési listák (ACL-ek) vagy kiterjesztett attribútumok (EA-k) kihagyását vagy belefoglalását az Ön igényei szerint. Javasoljuk, hogy a rendszeres fájlokhoz erős hash funkciót (például SHA1) használjon az adatok integritásának biztosítása érdekében.
  • Több tartalomfolyam - A hagyományos archívumokkal ellentétben a fájlok egynél több adatfolyamot tartalmazhatnak a belső adatfájlon belül. Ez hasznos a fájlhoz társított kiterjesztett attribútumok vagy erőforrás-elágazások tárolására.
  • Fejlécek - A belső indexfájl a fájlfejléceket tartalmazza, tükrözve a belső adatfájlban szétszórtakat. Ha azonban külön tárolják, az indexfejléceknek hivatkozniuk kell a megfelelő adatok kiindulási helyzetére az adatfájlban. Ezenkívül az indexben lévő könyvtárbejegyzések felsorolják a benne lévő fájlokat és a megfelelő eltolásokat a belső fájlindexen belül.
  • Az ismétlődő metaadatok indoklása - Ez a tervezési választás biztosítja a hatékony adatfolyam-továbbítást/dekódolást és a véletlenszerű fájlhozzáférést. Ezenkívül a metaadatok jól tömörülnek, ami minimális tárolási többletköltséget eredményez. A tesztek azt mutatják, hogy a metaadatok általában a tárhely kevesebb, mint 0,3%-át foglalják el, így megéri a kompromisszum.
  • Blokkfejlécek - A blokkfejlécek a külső fájlhoz hasonlóan blokkméret-információkat és egyedi azonosító sorozatot tartalmaznak.

Példák a TAR használatára

Az Aspose.ZIP API lehetővé teszi az archívumok kibontását az alkalmazásokból anélkül, hogy bármilyen más harmadik féltől származó alkalmazásra lenne szüksége. Az Aspose.ZIP API TarArchive osztályt biztosít a TAR archívumokkal való együttműködéshez.

Add entries to existing TAR archive via C#

All you need to do is open archive for extraction and add entry to archive .

    using (TarArchive archive = new TarArchive(existing.tar))
    {
        archive.CreateEntry("one_more.bin", data.bin);
        archive.Save(added.tar);
    }

Delete entries from existing TAR archive via .net

Entries of tar archive can be deleted with similar DeleteEntry methods.

using (var archive = new TarArchive("two_files.tar"))
{
    archive.DeleteEntry(0);
    archive.Save("single_file.tar");
}

Add files to TAR archive without compression

Tar is a file archival format used to group multiple files and directories into a single archive file without compression , unlike formats like ZIP, RAR and others. To create a tar archive without specifying any compression settings, simply use a TarArchive instance.

    using (FileStream tarFile = File.Open("joint.tar", FileMode.Create))
    {
        FileInfo fi1 = new FileInfo("text.txt");
        FileInfo fi2 = new FileInfo("picture.png");
        using (TarArchive archive = new TarArchive())
        {
            archive.CreateEntry("text.txt", fi1);
            archive.CreateEntry("picture.png", fi2);
            archive.Save(tarFile);
        }
    }

Aspose.Zip offers individual archive processing APIs for popular development environments, listed below:

Aspose.Zip for .NETAspose.Zip via JavaAspose.Zip via Python.NET

További információk a TAR-archívumokról

Az emberek kérdezték

1. Mi az a TAR archívum?

A TAR archívum, a Tape Archive rövidítése, egy olyan fájlformátum, amellyel több fájlt és könyvtárat egyetlen archív fájlba tömörítenek tömörítés nélkül. Általában biztonsági mentési és terjesztési célokra használják Unix-alapú rendszerekben.

2. Milyen előnyökkel jár a TAR archívum?

A TAR egyetemességgel büszkélkedhet, mivel kompatibilis a legtöbb operációs rendszerrel és archív programmal, megkönnyítve a zökkenőmentes adatmegosztást és -cserét a különböző platformokon. Egyszerűsége a TAR archívumok egyszerű felépítésében rejlik, amely lehetővé teszi a fájlok könnyű létrehozását, kibontását és kezelését. Ezenkívül a TAR hatékonyságot kínál azáltal, hogy lehetővé teszi a tömörítést olyan külső eszközökkel, mint a gzip vagy a bzip2, lehetővé téve a felhasználók számára a fájlméret csökkentését, valamint a tárhely és a sávszélesség megtakarítását az adatátvitel során.

3. Milyen korlátai vannak a TAR archívumoknak?

Míg a TAR egy sokoldalú fájlformátum, amelyet gyakran használnak a fájlok archiválására és terjesztésére Unix-alapú rendszerekben, bizonyos korlátozásokkal is tisztában kell lenni. Először is, a TAR nem rendelkezik beépített tömörítési képességekkel, ami azt jelenti, hogy további eszközökre lesz szüksége, mint például a gzip vagy a bzip2 a fájlméret csökkentéséhez. Másodszor, a TAR archívumok nem kínálnak natív titkosítási szolgáltatásokat, így ha adatbiztonságra van szüksége, külső jelszavas védelemre kell támaszkodnia. Végül a TAR korlátozott mértékben támogatja a fájlattribútumok, például az időbélyegek és az eredeti fájlok engedélyeinek megőrzését, amelyek befolyásolhatják az archivált adatok integritását.