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
-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ä
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
- BSD File Formats Manual freebsd.org. Viitattu 28.8.2021. (englanniksi)
- 1.5 GNU tar Authors gnu.org. Viitattu 28.8.2021. (englanniksi)
Aiheesta muualla
- tar(1) (englanniksi)
- GNU tar: an archiver tool (englanniksi)