tar (Unix)

tar (engl. tape archive) tarkoittaa kahta asiaa: alun perin Unix-järjestelmissä tarkoitettua tiedostomuotoa, ja kyseisen tiedostomuodon käsittelyyn käytettyä ohjelmaa. Nykyisin tar-tiedostomuoto ja ohjelman käyttöparametrit on määritelty POSIX.1-standardissa (1988 ja 2001), ja tiedostomuotoa tuetaan myös monissa muissa ei-POSIX-käyttöjärjestelmissä.

Alun pitäen ohjelma ja tiedostomuoto luotiin varmuuskopioiden tekemiseen nauha-asemalle ja muille sarjamuotoiseen tallentamiseen pohjaaville varmuuskopiolaitteille. Nykyisin sitä käytetään laajalti Unixin kaltaisissa järjestelmissä tiedostojen pakkaukseen yhteen tiedostoon, tavallisesti varmuuskopiointia, levittämistä tai siirtämistä varten. Sarjamuotoisuus näkyy edelleen siinä, että tar-ohjelma voi lukea arkistotiedoston standardisyötteestä ja kirjoittaa sen standardiulostuloon, ja mahdollistaa täten tiedon putkittamisen toiseen ohjelmaan. Haittana on se, että yksittäisten tiedostojen purkaminen tiedostosta on vaikeampaa, koska tar-tiedosto pitää lukea alusta alkaen purettavaa tiedostoa etsittäessä.

Tar-tiedostomuoto ei sisällä itsessään tiedon pakkausta. Tämän takia tar-tiedostot tyypillisesti pakataan vielä toisella ohjelmalla. Vanhemmissa Unix-järjestelmissä käytettiin compress-ohjelmaa, mutta nykyisin käytännön standardeja ovat gzip, bzip2 ja xz. Tar-tiedostojen tiedostopäätteinä ovat siis .tar.gz tai .tgz jos tiedosto on pakattu gzip-ohjelmalla, tai .tar.bz2 jos tiedosto on pakattu bzip2-ohjelmalla.

Historia

Varhainen versio ohjelmasta oli mukana AT&T:n Unix-versiossa 7 (Seventh Edition Unix), joka oli yksi varhaisimmista laajalti käytetyistä ohjelman versioista.[1] Ohjelma julkaistiin tammikuussa 1979, jolloin se korvasi tp-ohjelman Unix-versiosta 4 (Fourth Edition Unix).[1] tp oli korvannut tap-ohjelman ensimmäisestä Unix-versiosta (First Edition Unix).[1]

POSIX-standardi muutti useita asioita tar-määrittelyssä, kuten välilyöntien käyttö numerokenttien edessä.[1] Ennen POSIX-standardia oli John Gilmoren pdtar ja standardin jälkeen ilmestyi "ustar" (Unix Standard tar).[1] Muita tar-versioita on muun muassa Joerg Shillingin star noin vuodelta 1985.[1]

GNU-projektin version kirjoitti aluksi John Gilmore, jonka jälkeen sitä ovat kehittäneet useat henkilöt.[2]

Käyttö

Valitsimet

-cluo arkiston
-Cvalitsee työhakemiston eli lähdehakemiston (saa olla useita)
-Hnimettyjen symbolisten linkkien kohteita seurataan arkistoiden kohteet; oletusarvoisesti tar ei siis seuraa symbolisia linkkejä
-fnimeää arkiston valitulla nimellä
-k(-x tarvitaan) ei korvata jo olemassa olevia tiedostoja arkistosta puretuilla samannimisillä tiedostoilla
-Lkaikki symboliset linkit seurataan ja kohteet arkistoidaan; ks. -H
-rlisää arkistoon (-f tarvitaan)
-tlistaa arkiston artikkelit oletustulostusvirtaan
-ulisää arkistoon, mikäli lisättävät artikkelit ovat uudempia kuin arkistossa jo mahdollisesti olevat samannimiset tiedostot (-f tarvitaan)
-vantaa lisäinformaatiota suoritettavasta tehtävästä
-xpurkaa arkiston tai hakee arkistosta (voi hakea yksittäisiäkin tiedostoja)

Esimerkkejä

Tehdään varmuuskopio koko kovalevystä (juurihakemistosta alkaen) nimellä backup0.tar:

 tar -cvf backup0.tar -C / . 

Puretaan yllä luotu arkisto juurihakemistoon:

 tar -xvf backup0.tar -C /

Kopioidaan hakemisto /usr/user1/ , sen kaikki tiedostot ja alihakemistot tiedostoineen hakemistoon /usr/user2

 tar -cvf - -C /usr/user1/ . | tar -xvf - -C /usr/user2/

Varmuuskopioidaan kaikki järjestelmän 30 päivää ja aikaisemmin muokatut tiedostot:

 tar -cvf backup0.tar -C / `find / -mtime +30 -type f -print`

Katso myös

Lähteet

  1. BSD File Formats Manual freebsd.org. Viitattu 28.8.2021. (englanniksi)
  2. 1.5 GNU tar Authors gnu.org. Viitattu 28.8.2021. (englanniksi)

    Aiheesta muualla

    This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.