TAR archyvas (.tar)
POSIX.1-1988 Standartinis„Tape Archive" (TAR) yra visur Unix ir „Linux" sistemose naudojamas failų pakavimo formatas, sujungiantis kelis failus, katalogus ir failų sistemos metaduomenis į vieną nesuspaustą srautą, skirtą magnetinių juostų atsarginėms kopijoms ir programinės įrangos platinimui.
Konvertuoti ZIP į TAR
Nemokamas ZIP į TAR konverteris naršyklėje. Konvertuokite failus akimirksniu savo įrenginyje.
Tikrinti ir metaduomenys
Operacinės sistemos ir failų analizatoriai atpažįsta TAR failus tikrindami pradinę dvejetainę baitų seką:
Baitų lygio antraštės parašas (magiškieji baitai)
Operacinės sistemos ir failų analizatoriai atpažįsta TAR failus tikrindami pradinę dvejetainę baitų seką:
ŠEŠIOLIKTAINIS PARAŠAS (POSLINKIS 257):
75 73 74 61 72ASCII ATVAIZDAVIMAS: ustar
Standartizacija: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)
Techninės specifikacijos
| Konteinerio architektūra | Sequence of 512-byte blocks: 512-byte file header followed by file data rounded up to 512 bytes, ending with two zero blocks |
| Glaudinimas | Uncompressed archive container (designed to be piped into gzip, bzip2, xz, or zstd) |
| Baitų seka (Endianness) | Octal ASCII string fields; big-endian numeric extensions |
| Spalvų erdvės | N/A (Archive Container) |
| Kanalai ir struktūra | Unix file directory tree, symlinks, hardlinks, character/block devices, and FIFO pipes |
| Maksimalūs matmenys | 8 GB limit in classic ustar; practically unlimited in modern PAX format |
| Skaidrumas | Full preservation of POSIX file permissions, owner UID/GID, access times, and extended attributes |
| Srautas ir progresyvusis įkėlimas | Sequential stream-oriented design: can be written directly to physical magnetic tape drives |
Techninė palyginimo matrica: TAR vs konkurentai
| Techninis atributas | TAR (Dabartinis) | ZIP | 7Z | CPIO |
|---|---|---|---|---|
| Vietinis suspaudimas | Nėra (grynas pakavimo konteineris) | Integruotas „Deflate" suspaudimas | Integruotas „LZMA" / „LZMA2" suspaudimas | Nėra (grynas pakavimo konteineris) |
| Unix teisių išsaugojimas | 100 % POSIX atributai, simlinkai, UID / GID | Ribotas Unix teisių palaikymas | Išsaugo pagrindines teises | 100 % POSIX atributai |
| Srautinis išskleidimas | Pilnas srautinis išskleidimas iš srautų | Reikalauja skaityti centrinį katalogą failo pabaigoje | Reikalauja skaityti pabaigos antraštę | Pilnas srautinis išskleidimas |
| Atsitiktinė prieiga prie failų | Lėta (linijinis nuoseklus nuskaitymas) | Akimirkos (centrinio katalogo paieška) | Vidutinė (indekso paieška) | Lėta (linijinis nuoseklus nuskaitymas) |
Dažni sugadinimo režimai ir šešioliktainio atkūrimo vadovas
Išskleidimo klaida: „tar: Skipping to next header" arba „A lone zero block at X".
Pirminė priežastis: Pažeistas 512 baitų bloko lygiavimas arba priešlaikinis srauto nutraukimas.
Atkūrimas: Išskleiskite naudodami „tar -i", kad ignoruotumėte pažeistus blokus, arba suremontuokite naudodami „File2File Tar Tool".
Saugumo analizė ir analizatoriaus atakos vektoriai
TAR išskleidikliai turi išvalyti failų kelius, kad išvengtų savavališko failų perrašymo per katalogų perėjimo atakas.
Žinomi atakos vektoriai
- Katalogo perėjimas per „Slip" (pvz., „../etc/passwd"), išskleidimo metu perrašantis kritinius sisteminius failus.
- Simlinkų lenktynių sąlygos, sukuriančios simlinkus į sisteminius katalogus, po kurių seka failų įrašymas.
- Paslaugos trikdymas (DoS) naudojant apskritas standžiųjų nuorodų kilpas.
Geriausia apsaugos praktika:
Istorinė kilmė ir svarbiausi etapai
Pagrindiniai privalumai
- Tiksliai išlaiko visą Unix failų sistemos specifiką: POSIX teises, simlinkus (simbolines nuorodas), standžiąsias nuorodas ir nuosavybės teises.
- Juostoms pritaikytas srautinis dizainas: galima išskleisti tiesiai iš tinklo srauto, neieškant failo pabaigos.
- Visuotinis standartas visuose „Linux" serveriuose, konteinerių atvaizduose („Docker" / OCI) ir „Unix" programinės įrangos platinimo paketuose.
Techniniai apribojimai ir trūkumai
- Nėra vietinio suspaudimo: nesuspaustas .tar failas yra maždaug tokio paties dydžio kaip visi pirminiai failai kartu.
- Atsitiktinė prieiga yra lėta: norint išskleisti vieną failą iš didžiulio archyvo vidurio, reikia nuskaityti nuo pat pradžių.
- Pasenusios „ustar" antraštės sutrumpindavo failų vardus, ilgesnius nei 100 simbolių (šiuolaikiniuose PAX / GNU tar tai išspręsta).
Įdomūs techniniai faktai
- Magiškieji baitai „ustar" yra 257-ajame baito poslinkyje kiekviename 512 baitų antraštės bloke.
- TAR iš pradžių buvo parašytas tam, kad fiziškai valdytų 9 takelių magnetinių ritinių juostų kaupiklius.
- „Docker" ir OCI konteinerių atvaizdai yra tiesiog suklasstyti standartinių .tar archyvų rinkiniai, kuriuose yra šakninės failų sistemos skirtumai.
Dažniausiai užduodami techniniai klausimai
Kodėl mano .tar failas nesuspaustas?
TAR yra tik archyvavimo priemonė (ji sujungia failus į vieną bendrą failą) ir pati savaime nesuspaudžia duomenų. Norėdami jį suspausti, sujunkite su „gzip“, kad gautumėte .tar.gz failą.
Kuo skiriasi ustar ir GNU tar?
Ustar yra 1988 m. POSIX standartas su 100 simbolių failų vardų apribojimu, o GNU tar yra išplėstinis formatas, palaikantis neribotą kelio ilgį ir retuosius failus (sparse files).
Kaip galiu atidaryti .tar failą „Windows“ aplinkoje?
„Windows 10“ ir „11“ palaiko tar per komandų eilutę („tar -xf file.tar“), arba galite jį išskleisti vizualiai naudodami File2File.app tiesiogiai interneto naršyklėje.
Susijusios TAR konvertavimo poros
ZIP archyvo konvertavimas į TAR archyvą paverčia suspaustą, atsitiktinės prieigos failų rinkinį į tiesų juostinio archyvo srautą, kuris dažniausiai naudojamas „Unix" ir „Linux" aplinkose.
TAR archyvo konvertavimas į ZIP archyvą paverčia nesuspaustą „Unix" konteinerį visuotinai pasiekiamu, suspaustu failų formatu.
TAR archyvo konvertavimas į GZIP archyvą apgaubia nesuspaustą failų rinkinį į vieną suspaustą srautą naudojant DEFLATE algoritmą be nuostolių, kad žymiai sumažėtų failo dydis.
GZIP suspausto failo konvertavimas į TAR archyvą pašalina glaudinimo sluoksnį, kad būtų atskleistas neapdorotas, nesuspaustas failų ir aplankų rinkinys.