Dateien archivieren und komprimieren
Mit den hier vorgestellten Programmen kann man unter Linux Dateien archivieren und komprimieren. So können zum Beispiel Konfigurations- oder Logdateien platzsparend gesichert werden. Der Quellcode von Linux-Programmen wird meistens auch in komprimierter Form veröffentlicht und muss vor dem Kompilieren entpackt werden.
tar – Dateien archivieren
Das Programm tar (tape archiver) wurde ursprünglich zur Archivierung von Daten auf Bandlaufwerken benutzt. Heutige Versionen erlauben natürlich auch das Speichern der Daten in Dateien.
Es gilt folgende Syntax:
tar [OPTION]... [DATEI]...
Hier eine Auswahl der möglichen Optionen:
- -c oder --create
- neues Archiv erzeugen
- -f Archiv oder --file=Archiv
- Der angegebene Dateiname wird verwendet
- -x, --extract oder --get
- Dateien werden aus dem Archiv geholt
- -r oder --append
- Dateien werden an das Archiv angehängt.
- -u oder --update
- Es werden nur Dateien an das Archiv angehängt, die jünger als die archivierte Version sind.
- --delete
- Dateien werden aus dem Archiv gelöscht.
- -t oder --list
- Die im Archiv enthaltenen Dateien werden angezeigt.
- -v oder --verbose
- Die zu bearbeitenden Dateien werden angezeigt.
- -k oder --keep-old-files
- Bereits vorhandene Dateien werden beim Extrahieren nicht überschrieben.
- --atime-preserve
- Beim Extrahieren bleibt die Zugriffszeit erhalten.
- -m oder --modification-time
- Beim Auspacken bleibt die Änderungszeit erhalten.
- --same-owner
- Der Eigentümer der ausgepackten Dateien bleibt erhalten.
- -p oder --same-permissions
- Die Zugriffsrechte der ausgepackten Dateien bleiben erhalten.
- -j oder --bzip2
- Archiv wird mit bzip2 komprimiert oder dekomprimiert.
- -z, --gzip oder --ungzip
- Archiv wird mit gzip komprimiert oder dekomprimiert.
- -Z, --compress oder --uncompress
- Archiv wird mit compress dekomprimiert. Das Debian-Paket ncompress muss installiert sein.
- -X Datei oder --exclude-from=Datei
- Es werden die Dateien ausgelassen, auf die in DATEI angegebene Muster passen.
- --ignore-case
- Bei den ausgelassenen Dateinamen wird die Groß/-Kleinschreibung ignoriert.
- -P oder --absolute-names
- Bei den Dateinamen werden die absoluten Pfade erhalten, indem führende Schrägstriche nicht entfernt werden.
Beispiel: Archiv erstellen
Das folgende Beispiel sichert den Ordner /etc/network/ in das Archiv /tmp/test.tar:
simon@debian:~$ tar -cf /tmp/test.tar /etc/network/
tar: Removing leading `/' from member names
simon@debian:~$
Beispiel: Archivinformationen anzeigen
Der folgende Befehl gibt dir den Inhalt des gerade erstellten Archivs aus:
simon@debian:~$ tar -tf /tmp/test.tar
etc/network/
etc/network/run
etc/network/interfaces
etc/network/if-post-down.d/
etc/network/interfaces.dpkg-new
etc/network/if-up.d/
etc/network/if-up.d/clamav-freshclam-ifupdown
etc/network/if-up.d/postfix
etc/network/if-down.d/
etc/network/if-down.d/clamav-freshclam-ifupdown
etc/network/if-down.d/postfix
etc/network/ifstate
etc/network/options
etc/network/if-pre-up.d/
simon@debian:~$
Mit der Option -v werden detailiertere Informationen über die im Archiv enthaltenen Dateien angezeigt:
simon@debian:~$ tar -tvf /tmp/test.tar
drwxr-xr-x root/root 0 2006-11-28 07:09:52 etc/network/
lrwxrwxrwx root/root 0 2005-12-31 21:45:11 etc/network/run -> .
-rw-r--r-- root/root 412 2005-06-29 14:15:38 etc/network/interfaces
drwxr-xr-x root/root 0 2003-12-22 20:35:11 etc/network/if-post-down.d/
-rw-r--r-- root/root 0 2003-12-22 20:37:08 etc/network/interfaces.dpkg-new
drwxr-xr-x root/root 0 2006-10-19 11:32:43 etc/network/if-up.d/
-rwxr-xr-x root/root 1677 2006-01-14 22:04:46 etc/network/if-up.d/clamav-freshclam-ifupdown
-rwxr-xr-x root/root 691 2005-03-01 02:05:22 etc/network/if-up.d/postfix
drwxr-xr-x root/root 0 2006-10-19 11:32:43 etc/network/if-down.d/
-rwxr-xr-x root/root 1677 2006-01-14 22:04:46 etc/network/if-down.d/clamav-freshclam-ifupdown
-rwxr-xr-x root/root 285 2005-03-01 02:05:22 etc/network/if-down.d/postfix
-rw-r--r-- root/root 16 2006-11-28 07:10:53 etc/network/ifstate
-rw-r--r-- root/root 45 2003-12-22 20:35:26 etc/network/options
drwxr-xr-x root/root 0 2003-12-22 20:35:11 etc/network/if-pre-up.d/
simon@debian:~$
Beispiel: Dateien aus einem Archiv löschen
Der folgende Befehl löscht die Datei etc/network/interfaces aus dem Archiv:
tar -f /tmp/test.tar --delete etc/network/interfaces
Beispiel: Dateien extrahieren
Der folgende Befehl entpackt den Inhalt des Archivs in den aktuellen Ordner:
tar -xf /tmp/test.tar
bzip2 – Dateien komprimieren
Mit dem Programm bzip2 können Dateien komprimiert und dekomprimiert werden. Das Programm ist standardmäßig unter Debian GNU/Linux nicht installiert und kann vom Administrator (root) mit folgendem Befehl nachinstalliert werden:
aptitude install bzip2
Das Programm verwendet folgende Syntax:
bzip2 [flags and input files in any order]
Die Optionen wird man wohl sehr selten brauchen. Hier trotzdem eine Liste:
- -h oder --help
- Zeigt einen Hilfebildschirm an
- -d oder --decompress
- Die angegebene Datei wird dekomprimiert.
- -z oder --compress
- Die angegebene Datei wird komprimiert (Standardeinstellung).
- -k oder --keep
- Die Originaldatei wird nicht gelöscht.
- -f oder --force
- Vorhandene Dateien werden überschrieben.
- -t oder --test
- Die Integrität der komprimierten Datei wird überprüft.
- -c oder --stdout
- Die Ausgabe erfolgt auf die Standardausgabe.
- -q oder --quit
- Es werden nur kritische Meldungen ausgegeben.
- -v oder --verbose
- Ausführliche Informationen werden angezeigt.
- -V oder -L
- Die Softwarelizenz und -version werden angezeigt.
Der folgende Befehl komprimiert die Datei /tmp/test.tar und erstellt die Datei /tmp/test.tar.bz2:
bzip2 /tmp/test.tar
Zum Entpacken des Archivs kann das Programm bunzip2 verwendet werden:
bunzip2 /tmp/test.tar.bz2
gzip – Dateien komprimieren
Auch gzip ist ein Programm zum de- und komprimieren von Dateien. Es verwendet folgende Syntax:
gzip [options] [file ...]
Hier eine Auswahl der möglichen Optionen:
- -h oder --help
- Zeigt einen Hilfebildschirm an.
- -d oder --decompress
- Die angegebene Datei wird dekomprimiert.
- -f oder --force
- Vorhandene Dateien werden überschrieben.
- -l oder --list
- Zeigt Informationen über den Inhalt der komprimierten Datei an.
- -L oder --license
- Zeigt den Lizenzvertrag an.
- -n oder --no-name
- Datum und Uhrzeit der Datei werden nicht gesichert oder hergestellt
- -N oder --name
- Datum und Uhrzeit der Datei werden wiederhergestellt oder gesichert.
- -r oder --recursive
- gzip arbeitet rekursiv
- -t oder --test
- Die Integrität der komprimierten Datei wird überprüft.
- -v oder --verbose
- Ausführliche Informationen werden angezeigt.
- -V oder --version
- Die Programmversionsnummer wird ausgegeben.
Um das Archiv /tmp/test.tar mit gzip zu komprimieren, ist folgender Befehl einzugeben:
gzip /tmp/test.tar
gunzip – Dateien dekomprimieren
Der Befehl gunzip bewirkt das Gegenteil von gzip. Mit gunzip wird das angegebene Archiv dekomprimiert:
gunzip /tmp/test.tar.bz2
Datum der Veröffentlichung: Dienstag, 28.11.2006