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ą:

Pasirinkite arba nuvilkite failus čia

100% privatus konvertavimas naršyklėje - failai niekada nepalieka jūsų įrenginio

arba įklijuokite Ctrl+V
Nulinio tinklo perdavimo privatumo garantija: 0 baitų įkelta į išorinius serverius. Visas apdorojimas vyko vietoje, jūsų naršyklės smėlio dėžėje (sandbox).

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 72

ASCII ATVAIZDAVIMAS: ustar

Standartizacija: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

Techninės specifikacijos

Konteinerio architektūraSequence of 512-byte blocks: 512-byte file header followed by file data rounded up to 512 bytes, ending with two zero blocks
GlaudinimasUncompressed 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ėsN/A (Archive Container)
Kanalai ir struktūraUnix file directory tree, symlinks, hardlinks, character/block devices, and FIFO pipes
Maksimalūs matmenys8 GB limit in classic ustar; practically unlimited in modern PAX format
SkaidrumasFull preservation of POSIX file permissions, owner UID/GID, access times, and extended attributes
Srautas ir progresyvusis įkėlimasSequential stream-oriented design: can be written directly to physical magnetic tape drives

Techninė palyginimo matrica: TAR vs konkurentai

Techninis atributasTAR (Dabartinis)ZIP7ZCPIO
Vietinis suspaudimasNėra (grynas pakavimo konteineris)Integruotas „Deflate" suspaudimasIntegruotas „LZMA" / „LZMA2" suspaudimasNėra (grynas pakavimo konteineris)
Unix teisių išsaugojimas100 % POSIX atributai, simlinkai, UID / GIDRibotas Unix teisių palaikymasIšsaugo pagrindines teises100 % POSIX atributai
Srautinis išskleidimasPilnas srautinis išskleidimas iš srautųReikalauja skaityti centrinį katalogą failo pabaigojeReikalauja 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

2001IEEE POSIX.1-2001 pristato PAX (angl. Portable Archive Interchange) standartą, panaikinantį pasenusius 8 GB dydžio apribojimus.
1988IEEE POSIX standartizuoja „ustar" (angl. Unix Standard Tar) antraštės formatą.
1979Pristatytas „Bell Labs" „Version 7 Unix" (V7) sistemoje, siekiant įrašyti failų medžius į magnetinių juostų kaupiklius.

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.