tirsdag den 23. oktober 2012

Komprimerede tar arkiver tutorial, How to


Komprimerede tar arkiver tutorial, How to


Præface

Denne tutorial er skrevet primært til mig selv, for at skabe et overblik over hvordan almindelige operationer omkring håndtering af arkiver udføres i bash. Den er skrevet fordi, jeg ikke umiddelbart har fundet danske tutorialer om tar arkiver – hvilket måske siger mere om mine søgeevner, end om hvad der findes. Den er gjort tilgængelig, for at give andre bruger en relativ nem indgang til brug af tar, sådan som det gøres i bash o.l.
Der er linket til linux manual sider lige under overskriften, jeg vil gerne anbefale at de læses grundigt nok til at man ved hvor der er hjælp at hente.
Hvis der er spørgsmål vedr. denne tekst, kan der skrives til mig på Boerlum@facebook.com – jeg ved godt at det er negativt i frihedsdimensionen at bruge fjæsbog, men det er praktisk.


tar – generalle iagttagelser.

Tar er et arkiverings værktøj der sender data til et arkiv, strukturen inden i arkivet er bevaret som den var fra kilden. Det er sikkert at lege med at pakke og udpakke tar arkiver, da der ikke skrives til oprindelses data. Tar kan ikke operarer på data som der læses eller skrive til. Tar er oprindelig skrevet med henblik på at skrive data til et bånd, derfor kan tar ikke skrive til midten af et arkiv, men addere blot date til slutningen – derfor er tar ikke egnet til at lave priodiske BackUp.
Tar arkiver komprimeres som oftest for at spare resurser, et arkiv er et sted at gemme data man ikke har brug for at havde adgang til ofte – tiden og datakraften der kræves for at udpakke et arkiv er nærmest et ikke-problem. Der findes et ocean af komprimerings algoritmer, men de to mest udbredte i Linux universet er: gzip der bruges sammen med filforlængelsen .gz og tar optionen -z, bruger algoritmen Lempel-Ziv kodning (LZ77) – arbejdsgangen er som følger; data sendes til arkiv, hvorefter arkivet komprimeres. Bzip2 der bruges sammen med filforlængelsen .bz2 og tar optionen -j, bruger algoritmen Burrows-Wheeler blok sorterings algoritme og Huffman kodning - arbejdsgangen er præcis som ved gzip.

tar.gz arkiver – komprimerede med Lempel-Ziv coding (LZ77)

Sådan oprettes et komprimeret tar arkiv

Arbejdsgang: {opret arkiv.tar; tilføj filer; komprimere arkiv.tar.gz}
Kommando: tar
Optioner for at generere tar.gz arkiv: c [--create] z[--gzip] f [--file] eventuelt v [-- verbose]
Eksempel: tar czf /sti/til/output/arkiv.tar.gz /sti/til/input

Datostempling af tar arkiv

Eksempel: tar -czf public_html-’date+%d%m%’.tar.gz public_html

Sådan udpakkes et tar.gz arkiv

Arbejdsgang: {dekomprimere arkiv.tar.gz; extrahere indhold; tilføj /lokal/dir/filer}
Kommando: tar
Optioner: tarOptioner til at udpakke tar.gz: z[--gzip] x[--extract] v[--verbose] f[--file]
Eksempel: tar zxvf /stil/til/arkive.tar.gz

Sådan listes indhold af tar.gz arkiv

Arbejdsgang: {dekomprimere arkiv.tar.gz; pipe output til tar; list indhold af strøm til skærm}

Kommandoer: gunzip | tar

Optioner til list: -c [--stdout –to-stdout] -t[--list] v[--verbose] f[--force]

Eksempel: gunzip -c /sti/til/arkive.tar.gz | tar -lvf -

Sådan udpakkes én fil fra tar.gz arkiv

Arbejdsgang: {dekomprimere arkiv.tar.gz; pipe output til tar; extrahere arkiv.tar/dir/dir/fil.php; tilføj /lokal/dir/fil}

Kommandoer: gunzip | tar

Optioner til list: {gunzip} -c [--stdout –to-stdout] {tar} -x[--get] v[--verbose] f[--force]

Eksempel: gunzip -c /sti/til/arkiv.tar.gz | tar -xvf /stil/inde/i/arkiv.tar/’fil navn.php

tar.bz2 arkiv komprimeret med Burrows-Wheeler block sorting algoritme
og Huffman coding

Sådan oprettes et komprimeret tar.bz2 arkiv

Arbejdsgang: {opret arkiv.tar; tilføj filer; komprimere arkiv.tar.bz2}

Kommando: tar

Optioner for at generere tar.bz2 arkiv: c [--create] j[--bzip2] f [--file] eventuelt v [--verbose]

Eksempel: tar cjf /sti/til/output/arkiv.tar.bz2 /sti/til/input

Dato stempling af tar arkiv

Eksempel: tar -czf public_html-’date+%d%m%’.tar.gz public_html

Sådan udpakkes et tar.bz2 arkiv

Arbejdsgang: {dekomprimere arkiv.tar.gz; extrahere indhold; tilføj /lokal/dir/filer}

Kommando: tar

Optioner til at udpakke tar.bz2: j[--bzip2] x[--extract] v[--verbose] f[--file]

Eksempel: tar jxvf /stil/til/arkive.tar.bz2

Sådan listes indhold af tar.bz2 arkiv

Arbejdsgang: {dekomprimere arkiv.tar.bz2; pipe output til tar; list indhold af strøm til skærm}

Kommandoer: bunzip2 | tar

Optioner til list: -c [--stdout –to-stdout] -t[--list] v[--verbose] f[--force]

Eksempel: bunzip2 -c /sti/til/arkive.tar.bz2 | tar -lvf -

Sådan udpakkes én fil fra tar.bz2 arkiv

Arbejdsgang: {dekomprimere arkiv.tar.bz2; pipe output til tar; extrahere arkiv.tar/dir/dir/fil.php; tilføj /lokal/dir/fil}

Kommandoer: bunzip2 | tar

Optioner til list: {bunzip2} -c [--stdout –to-stdout] {tar} -x[--get] v[--verbose] f[--force]

Eksempel: bunzip2 -c /sti/til/arkiv.tar.bz2 | tar -xvf /stil/inde/i/arkiv.tar/’fil navn.php