perjantaina, huhtikuuta 21, 2006

Pakkaus ja purku Linuxissa!

Tiedostopakettien tekeminen - tar, gzip

Pakataan testi-niminen alihakemisto kaikkine tiedostoineen ja alihakemistoineen pakettiin testi.tar.gz säilyttäen mahdollisesti (käyttäjänä root) kaikki oikeudet:

PAKKAAMINEN

  • tar -cpzf testi.tar.gz testi

PURKAMINEN

  • cd haluttu_hakemisto

  • tar -xpzf testi.tar.gz

    • Huom: testi.tar.gz tarvitsee (tietenkin) etensä sen hakemistopolun, josta ko. paketti löytyy. Edellinen toimii vain, jos paketti on siinä hakemistossa, missä komento annetaan.

Tiedostopakettien tekeminen - zip

Myös Windowsista tuttuja ZIP-paketteja voi käsitellä ainakin useissa Linuxeissa

PAKKAAMINEN

  • zip -r testi.zip testi

PURKAMINEN

  • cd haluttu_hakemisto

  • unzip testi.zip

    • Huom: testi.zip tarvitsee (tietenkin) etensä sen hakemistopolun, josta ko. paketti löytyy. Edellinen toimii vain, jos paketti on siinä hakemistossa, missä komento annetaan.

Varmuuskopiointi - cp

Kokonaisen hakemistopuun kopiointi suojauksineen ja omistajineen cp-komennolla. (tarvitaan rootin oikeuksia):

  • cp -a lahde/* kohde/
    • Hakemiston lahde tiedostot löytyvät hakemistosta kohde jne.
  • cp -a lahde/ kohde/
    • Hakemisto lahde kopidaan hakemistolle kohde alihakemistoksi jne.

Varmuuskopiointi - tar, gzip

Esim. 1.0

home-hakemistopuun varmuuskopiointi tiedostoksi /sea25/back0305.tar.gz siten, että se voidaan palauttaa home-nimisenä mihin halutaan. Tiedostojen omistajat ja suojaukset säilytetään (tarvitaan rootin oikeuksia). Tarrin optiot: c=pakkaus, p=tiedostoattribuutit mukaan, f=pakkaus tiedostoon, &=Suoritetaan taustalla. gzip-ohjelma suorittaa kompressoinnin.

Jotkut tarrin (GNU-tar; Linuxeissa käytössä) versiot osaavat suoraan gzipin. Tällöin:

$ cd /
$ tar -cpzf /sea25/back0305.tar.gz home/* &


Ja toisinpäin:
$ cd /
$ tar -xpzf /sea25/back0305.tar.gz home/*

Esim. 1.1(sama ilman GNU-tarria, tämä toiminee lähes kaikissa Unixeissa)

$ cd /
$ tar -cpf /sea25/back0305.tar home/* &
$ cd /sea25
$ gzip backup0305.tar &
$ ls
..
backup0305.tar.gz
..

Edellisen paketin voi sitten purkaa haluttuun paikkaan alihakemistoksi home komennoilla:

$ cd /haluttu/hakemisto
$ gzip -d backup0305.tar.gz
$ tar -xpf backup0305.tar

Esim. 1.2

Sama putkella hieman lyhyemmin etc-hakemistolle. -9=Tiukin pakkaussuhde

Pakkaus:
cd /
tar -cpf - etc/* | gzip -9c > etc.tar.gz


Purku:
cd /haluttu/hakemisto
gunzip -c etc.tar.gz | tar -xpf -

Ei kommentteja: