tar (Unix)

sekä pakettitiedosto että ohjelma niiden käsittelyyn Unixin kaltaisissa järjestelmissä

tar (engl. tape archive) on alun perin Unix-järjestelmissä käytetty tiedostomuoto, ja kyseisen tiedostomuodon käsittelyyn käytetty ohjelma. 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 muokkaa

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][3]

Käyttö muokkaa

Valitsimet muokkaa

-c luo arkiston
-C valitsee työhakemiston eli lähdehakemiston (saa olla useita)
-H nimettyjen symbolisten linkkien kohteita seurataan arkistoiden kohteet; oletusarvoisesti tar ei siis seuraa symbolisia linkkejä
-f nimeää arkiston valitulla nimellä
-k (-x tarvitaan) ei korvata jo olemassa olevia tiedostoja arkistosta puretuilla samannimisillä tiedostoilla
-L kaikki symboliset linkit seurataan ja kohteet arkistoidaan; ks. -H
-r lisää arkistoon (-f tarvitaan)
-t listaa arkiston artikkelit oletustulostusvirtaan
-u lisää arkistoon, mikäli lisättävät artikkelit ovat uudempia kuin arkistossa jo mahdollisesti olevat samannimiset tiedostot (-f tarvitaan)
-v antaa lisäinformaatiota suoritettavasta tehtävästä
-x purkaa arkiston tai hakee arkistosta (voi hakea yksittäisiäkin tiedostoja)

Esimerkkejä muokkaa

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 muokkaa

Lähteet muokkaa

  1. a b c d e f BSD File Formats Manual freebsd.org. Viitattu 28.8.2021. (englanniksi)
  2. 1.5 GNU tar Authors gnu.org. Viitattu 28.8.2021. (englanniksi)
  3. tar(1) - Linux man page linux.die.net. Viitattu 9.8.2023. (englanniksi)

Aiheesta muualla muokkaa