Startseite
Datenbanken (mySQL, SQL, etc.)
Mailserver
Shell
Archivierung (tar) und Komprimierung (compress, gzip)
Daten per SSH versenden
grub - Der neue Bootloader
Konfiguration des Bootloaders GRUB Gentoo Linux
Spiegeln von Internetseiten - wget
Sicherheit
Verschiedenes
Webserver
Suche



Zitat von www.uni-koeln.de/rrzk/server/unix/sicherung.html

Archivierung__tar__und_Komprimierung__compress__gzip_.pdf   76 K

Archivierung (tar) und Komprimierung (compress, gzip)


Zitat von http://www.uni-koeln.de/rrzk/server/unix/sicherung.html


Archivierung (tar) und Komprimierung (compress, gzip)

Eine Archivierung und/oder Komprimierung von Dateien nimmt man immer dann vor, wenn diese einerseits nicht permanent genutzt werden, andererseits wenig Platz in Anspruch nehmen sollen. Früher wurde die Archivierung überwiegend im Zusammenhang mit der Auslagerung von Dateien auf Bändern vorgenommen. Heute archiviert und komprimiert man auch Plattendateien, um Platz zu sparen, so z.B. auf den Ftp-Servern (siehe Ftp-Server: Software-Server), wo fast alle Dateien in dieser Form gespeichert sind. Der Spareffekt liegt in einer Größenordnung von 40 bis 80 Prozent. Der Nachteil ist, daß die so gespeicherten Dateien nicht direkt nutzbar sind, sondern vorher dekomprimiert und dearchiviert werden müssen.

tar (tape archiver) ist die Unix-Standardroutine zur Archivierung. Dies beinhaltet zweierlei: zum einen wird durch die Archivierung ein Dateiformat erzeugt, das auf Bänder und Kassetten übertragbar ist, was übrigens mit 'normalen' Dateien ohne weiteres nicht möglich ist. Zum anderen, und das ist auch unabhängig von der Bandverarbeitung interessant, wird aus mehreren Dateien, normalerweise ganzen Verzeichnissen mit all ihren Unterverzeichnissen, eine einzige Archivierungsdatei erzeugt, die dann entsprechend tar-Datei genannt wird. Wie bei vielen Unix-Standardroutinen gibt es auch eine gnu-Version von tar, nämlich gtar, die vielfach der Originalversion vorgezogen wird.

Der Standardaufruf zur Erzeugung einer solchen Datei ist:


tar -cvf Tarfile Verzeichnis
z.B.
tar -cvf daten.tar daten/

Hierbei bedeuten die Optionen c create, v verbose (Ausgabeprotokoll) und f file. Verzeichnis ist das Verzeichnis, aus dem die tar-Datei Tarfile erzeugt werden soll. Natürlich darf Verzeichnis auch eine Datei oder eine Liste mehrerer Dateien sein. Zweckmäßigerweise führt man das Kommando immer in dem Verzeichnis aus, das das zu archivierende Verzeichnis als Unterverzeichnis enthält, da es dann als relativer Pfad, also ohne führenden / angegeben werden kann. Gibt man nämlich einen absoluten Pfad an, so würde bei der Dearchivierung versucht, wieder genau dasselbe Verzeichnis anzulegen, was zu Problemen führen kann. Die zu archivierenden Dateien oder Verzeichnisse bleiben nach Ausführung bestehen und müssen gegebenenfalls selbst gelöscht werden, z.B. mit


rm -r Verzeichnis

zum Löschen des Verzeichnisses mit allen Unterverzeichnissen.

Der Inhalt einer tar-Datei kann am Bildschirm mit


tar -tvf Tarfile

z.B. zur Kontrolle nach der Tarfile-Erstellung angeschaut werden.

Der Standardaufruf zur Dearchivierung einer tar-Datei ist:


tar -xvf Tarfile

Hierbei bedeutet die Option x extract. Verschiedene Systeme stellen standardmäßig bei der Dearchivierung nicht mehr die urprünglichen Zugriffsrechte wieder her. In solchen Fällen hilft die Option p.

Zur Komprimierung einer Datei gibt es das Standard-Unix-Programm compress oder besser noch das GNU-Programm gzip :
compress Datei

bzw.
gzip Datei
Durch compress wird eine Datei mit dem Namen Datei.Z erzeugt, bzw. durch gzip eine Datei Datei.gz. Diese sind binär, was für die Übertragung z.B. mit SSH/Ftp wichtig ist. Im Gegensatz zu tar bleibt die ursprüngliche Datei nicht erhalten. Die Dekomprimierung erfolgt mit
uncompress Datei.Z
bzw.
gunzip Datei.gz

Bei der Archivierung auf Platte, so z.B. auf den Ftp-Servern, werden Verzeichnisse zunächst mit tar archiviert und anschließend komprimiert. Dadurch entstehen Dateien mit der Endung ...tar.Z bzw. ...tar.gz. Bei der Archivierung auf Bänder verzichtet man häufig auf die Komprimierung. Soll sie dennoch vorgenommen werden, so müßte man nach der Komprimierung noch einmal mit tar eine Archivierung vornehmen, damit die komprimierte Datei auf Band/Kassette geschrieben werden kann.