Utvidelse | .tar |
---|---|
MIME-type | application/x-tar |
PUID | x-fmt / 265 |
Signatur | 75 73 74 61 72( heksa ) |
Utviklet av | Bell Laboratories |
Innledende versjon | Januar 1979 |
Formattype | Arkiv |
Innhold av | tar.gz, tar.bz2, tar.xz |
Spesifikasjon | Åpent format |
Programmet tar (engelsk t ape ar chiver , bokstavelig talt "for tape arkivet") er en programvare for arkivering av filer standard type systemer UNIX . Den ble opprettet i tidlige versjoner av UNIX og standardisert av POSIX .1-1988 og deretter POSIX.1-2001-standarder . Det er flere tjæreimplementeringer , den mest brukte er GNU-tjære.
En arkivfil opprettet av tjære komprimeres ikke. Den opprettede arkivfilen kalles noen ganger en tarball .
Arkivering skjer nesten alltid på disk. Den vanligste bruken nå er imidlertid å opprette eller lese en arkivfil.
Tar bevarer rettighetene, eieren og gruppen av filer og kataloger. Den lar deg også lagre symbolske lenker og spesielle blokkerings- eller tegnorienterte filer.
Ofte komprimeres en fil opprettet av tjære av et datakomprimeringsverktøy . De vanligste formatene er:
Komprimeringsverktøy | Unix-utvidelse | MS-DOS-utvidelse |
---|---|---|
komprimere | .tar.Z | .taz |
gzip | .tar.gz | .tgz |
bzip2 | .tar.bz2 | .tbz |
lzma og xz | .tar.lz | .tlz |
xz | .tar.xz | .txz |
7zip | .tar.7z |
UNIX-programvare, og spesielt kildefiler, distribueres ofte som en komprimert arkivfil.
I hovedsak består formatet som brukes av en sammenkobling av innholdet i filene. Hver fil innledes med en overskrift på 512 byte , denne størrelsen tilsvarer størrelsen på en blokk i versjon 7 av Unix-filsystemet.
For å forbedre effektiviteten ved skriving til magnetbånd grupperes blokker på 512 byte som standard , noe som resulterer i blokker på 10 KB. Den siste blokken er polstret med binære nuller.
TopptekstformatDet opprinnelige formatet til filoverskriften i tjære er som følger:
Etternavn | Posisjon | Kutte opp | Beskrivelse |
---|---|---|---|
Navn | 0 | 100 | Filnavn |
mote | 100 | 8 | Tillatelser |
uid | 108 | 8 | Eier (ubrukt hvis utvidet format) |
gid | 116 | 8 | Gruppe (ubrukt hvis utvidet format) |
størrelse | 124 | 12 | Filstørrelse i byte. Størrelsen må være null hvis filen er en spesiell fil (symbolsk lenke, med navnet pipe, "enhet" etter blokker eller tegn osv.) |
mtime | 136 | 12 | Siste modifikasjon i Unix-tid . |
chksum | 148 | 8 | Header kontrollsum hvor dette området anses fylt med mellomrom ( ASCII verdi 32) |
skriv flagg | 156 | 1 | Filtype |
lenkenavn | 157 | 100 | Navnet på filen som denne symbolske lenken peker på (Hvis typen indikerer en symbolsk lenke) |
Feltene "mode", "uid", "gid", "size", "mtime" og "chksum" lagres i ASCII i et oktalt system (base 8).
Felt | Posisjon | Kutte opp | Beskrivelse |
---|---|---|---|
magi | 257 | 6 | dette feltet indikerer om dette er en utvidet topptekst. Det er da "ustar". |
versjon | 263 | 2 | tegnene "00" indikerer et POSIX 1003.1-1990-format. To mellomrom indikerer det gamle GNU-formatet (skal ikke brukes lenger). |
uname | 265 | 32 | navnet på eierbrukeren i form av en tegnstreng på opptil 32 tegn. Hvis det er tilstede, bør dette feltet brukes i stedet for uid. |
gname | 297 | 32 | navnet på eiergruppen i form av en tegnstreng på opptil 32 tegn. Hvis det er tilstede, bør dette feltet brukes i stedet for gid. |
devmajor | 329 | 8 | dette feltet representerer hovednummeret hvis denne filen er av typen "enhet" etter blokker eller tegn |
devminor | 337 | 8 | dette feltet representerer mindre nummer, hvis denne filen er av typen "enhet" etter blokker eller tegn |
prefiks | 345 | 155 | |
slutt | 500 | 0 |
Verdi | Betydning |
---|---|
'0' | Normal fil |
( ASCII NUL ) | Normal fil (foreldet bruk) |
'1' | Maskinvare lenke |
'2' | Symbolsk lenke |
'3' | Spesialtegnfil |
'4' | Spesiell blokkfil |
'5' | Katalog |
'6' | Navngitt rør |
'7' | Sammenhengende fil. |
'g' | POSIX.1-2001 utvidet topptekst |
'x' | Utvidet topptekst med POSIX.1-2001 metadata |
'AZ' | POSIX.1-1988-formatutvidelser |
Navnene er ASCII-kodede og verdiene er oktale med ASCII-kodede sifre for bærbarhet. Verdiene blir tegnet av en NUL eller et mellomrom. Siden 11 tegn kan brukes til å spesifisere filstørrelsen, skaper dette en begrensning på 811 byte, eller 8 GB per fil. Noen versjoner, som GNU tar, tillater størrelseskoding i binært format for å overvinne denne begrensningen.
UStar-formatNåværende versjoner av tjære bruker et format kjent som UStar definert av POSIX-standarden (IEEE P1003.1).
UStar tillater lengre filnavn og lagrer flere attributter.
Posisjon | Kutte opp | Felt |
---|---|---|
0 | 257 | identisk med originalformatet |
257 | 5 | ustar indikerer UStar-typen |
262 | 3 | Versjon ( 00 ) |
265 | 32 | Eiers navn) |
297 | 32 | Gruppenavn) |
329 | 8 | Spesiell fil (hovednummer) |
337 | 8 | Spesiell fil (mindre nummer) |
345 | 155 | Filprefiks |
Her er de vanlige kommandoene for komprimering og dekomprimering av arkiver i henhold til deres utvidelse.
Mer generelt kan vi oppnå det samme resultatet med:
zcat archive.tar.gz | tar -xv bzcat archive.tar.bz2 | tar -xvMerk: Noen ganger brukes gzcat eller gzip -cd .
eller:
tar -cv MonRepertoire | gzip > archive.tar.gz tar -cv MonRepertoire | bzip2 > archive.tar.bz2Dette vil opprette et komprimert arkiv i den gjeldende katalogen (derfor en enkelt fil) som inneholder alle filene i MyDirectory-katalogen og underkatalogene.
Tjære er et format designet for inkrementell lagring av data på magnetbånd. Det har blitt populært blant utviklere av Unix-lignende systemer fordi det er den eneste standarden som tar hensyn til filsystemets metadata.
Filnavn og filer som symbolske lenker peker på, er begrenset til 100 tegn (fullt navn i arkivet, inkludert skilletegn for katalognavn). Ext2- filsystemet godtar filnavn på 255 byte. Et Linux-system godtar absolutte navn på 4096 byte.
Størrelsen på hver fil er begrenset til åtte 12 -1, eller om lag 68 GiB . En tar-fil har ingen størrelsesbegrensning.
Tjære har ikke en sentralisert indeks. For å trekke ut en enkelt fil fra arkivet, må du derfor starte med den første overskriften og lese overskriftene etter hverandre, i rekkefølgen på tarfilen. På fysisk sakte medier (CD-ROMer, DVDer, til og med harddisker og til og med kassetter), kan det å lese ikke-sammenhengende blokker for å bruke veldig lite gjøre ekstraksjonen av en eller flere filer ekstremt treg. Målrettet eller å se hele listen over filer.
Lagring av xattrs eller ACL krever ikke-standard utvidelser.
Tjæreformatet brukes ofte i forbindelse med komprimeringsverktøy. Imidlertid har tjæreformatet ulempen med å ha mange ubrukte byte i topptekstene og å bruke tall i ASCII-form i et oktalt system. Verktøy må derfor komprimere data som faktisk er ubrukelige og tall lagret på en veldig fragmentert måte . I datakomprimeringsteorien er det bevis på at det å legge til data bevisst, selv med det formål å gjøre det mer komprimerbart , ikke er en god strategi generelt. Dette tilfører informasjon entropi. Som et resultat vil komprimerte data generelt sett ta mer plass.
Den kontrollsum er bare for spissen. I tillegg har algoritmen lav motstand mot feil. Det tar bare to godt plasserte biter å endre for at denne feilen ikke blir oppdaget. For nettverkslagring og overføring anbefales det derfor at komprimeringsprogrammet som brukes i forbindelse med tjære, bruker en integritetssjekkalgoritme (f.eks. CRC32B , MD5 , SHA1 osv.).
De gamle gnu- og POSIX- formatene kan teoretisk sett komme i konflikt og jukse noen programmer.
En tarbomb er en tar-fil som inneholder en stor mengde filer ved roten til arkivet. Når de ikke arkiveres, drukner filene i en tarbomb innholdet i arbeidskatalogen, eller overskriver til og med brukerfiler som har samme navn som de i arkivet. I beste fall må brukeren velge en etter en de viste filene for å kopiere dem i en ny katalog, denne sorteringen kan vise seg å være en kjedelig jobb hvis de første filene og de nye er veldig blandede.
Det er derfor vanlig at filer er inneholdt i en katalog som skal arkiveres, i stedet for å arkivere dem direkte. Du kan også pakke ut filene i en dedikert underkatalog eller undersøke innholdet i arkivet på forhånd med alternativet t.
I motsetning til GNU tjære tillot den opprinnelige tjære å opprette og pakke ut filer med en absolutt bane, noe som kan være farlig. Det er imidlertid fortsatt mulig å referere til foreldrekataloger relativt (../).
Tallene lagres i ASCII-form for å unngå endismeproblemer .
Tjæreformatet er designet for Unix-lignende systemer og har aldri søkt å være interoperabelt med andre systemer.
Navnekodingen bruker den binære formen til filnavnet, uten å spesifisere hvilken koding som ble brukt, noe som spesielt kan forårsake problemer for Windows.
Under Unix-lignende systemer er alle tegn unntatt '/' og NUL-tegnet ('\ 0') tillatt for filnavn. Under Windows er et visst antall tegn ('\\', ':', ';', '+' osv.) Forbudt. Windows kan da ikke trekke ut slike filer ordentlig.
GNU-tjære er implementeringen av tjæreprogrammet av GNU-prosjektet . Det er gratis programvare distribuert under vilkårene i GNU General Public License . Det er den mest brukte POSIX- implementeringen i dag.
VersjonshistorikkVersjon | Utgivelsesdato | Hovedendringer |
---|---|---|
1.26 | 12. mars 2011 |
|
1.25 | 7. november 2010 | |
1.24 | 24. oktober 2010 |
|
1.23 | 3. mars 2010 |
|
1.22 | 5. mars 2009 |
|
1.21 | 27. desember 2008 |
|
1.20 | 14. april 2008 |
|
1.19 | 10. oktober 2007 | |
1.18 | 29. juni 2007 |
|
1.17 | 8. juni 2007 | |
1.16.1 | 9. desember 2006 | |
1.16 | 21. oktober 2006 | |
1.15.91 | 16. juni 2006 | |
1.15.90 | 19. februar 2006 | |
1.15.1 | 21. desember 2004 | |
1.15 | 20. desember 2004 |
|
1.14.90 | 2. september 2004 | |
1.14 | 10. mai 2004 |
|