Tar is een programma waarmee je bestanden kunt archiveren. Tar stopt losse bestanden bij elkaar in 1 groot bestand. Dat werd vooral vroeger veel gebruikt om backups te maken op tapes. Tegenwoordig worden kleine backups vaak op CD-R gezet. Als je bestanden archiveert met tar blijven de permissies (en bestandstypen) ook goed behouden als je het kopieert naar een partitie met een ander bestandssysteem.
Gzip is een programma dat een bestand comprimeert, kleiner maakt. Dit wordt vaak gebruikt bij bestanden die niet gebruikt worden maar wel bewaard moeten blijven. Zo worden de manual pages bij Mandrake gecomprimeert om ruimte te besparen (niet met gzip, maar met b2zip). Ook wordt dit gebruikt om bestanden te transporteren via diskette of via het Internet. Dat kost minder floppies en via het Internet duurt het minder lang om het te downloaden.
Om een partij bestanden in een groot gecomprimeerd bestand samen te voegen, moeten tar en gzip samen gebruikt worden. De taak van archiveren en comprimeren is daarmee gescheiden. Er ontstaat uiteindelijk een .tar.gz-bestand (ook wel .tgz). Je kunt een complete directory archiveren en comprimeren met het volgende commando:
tar zcvf file.tar.gz directory/
Heb je zo'n .tar.gz-bestand gedownload (ook wel tarball genoemd), dan decomprimeer en dearchiveer je het met het volgende commando.
tar zxvf file.tar.gz
Vaak wordt er dan een subdirectory aangemaakt met dezelfde naam als het
.tar.gz-bestand, zonder de .tar.gz op het eind.
De volgorde van de opties (zxvf
) is niet belangrijk, maar in deze volgorde
tikt het sneller. Een -
-teken ervoor is niet nodig.
De z
zorgt ervoor dat het bestand door gunzip wordt
gefilterd. Analoog hieraan kan ook de optie j
gebruikt worden om het bestand
door bzip2 te filteren. Daarmee kunnen .tar.bz2-bestanden
worden uitgepakt. Bzip2 pakt beter in, waardoor het wel eens gebruikt wordt om
erg grote dingen mee in te pakken. Maar omdat het (veel) langer duurt om iets
mee te (de)comprimeren wordt gzip vaker gebruikt.
De x
staat voor extract (een c
voor create), de v
voor
verbose (laat de bestandsnamen zien) en de f
laat het archiefbestand
of device F gebruiken (standaard /dev/rmt0). Waar dat laatste voor is weet ik
nog altijd niet.
Een .bz2-bestand kan worden uitgepakt met bzip2 -d file.bz2 en een .Z-bestand met uncompress file.Z.