Home · Kontakt · Impressum
contents index previous up next
Next: 13.5.2 Was ist ein Up: 13.5 Werkzeuge für die Previous: 13.5 Werkzeuge für die

Unterabschnitte



13.5.1 tar

Das Programm tar (tape archive) wird dazu benutzt um mehrere Dateien zu einer Archivdatei zusammenzupacken. Dabei wird die Verzeichnisstruktur beibehalten. Obwohl tar entwickelt wurde um Daten auf Magnetbänder zu schreiben, kann ein solches tar-Archiv auf jedem beliebigem Medium gespeichert werden. Daneben kann tar die Archive bei der Erstellung auch gleichzeitig mit gzip (13.6.1) komprimieren.
tar [OPTIONEN] [TARARCHIV] [DATEILISTE]

In den Optionen bilden die Schalter eine besondere Gruppe. Es kann immer nur ein Schalter zur Zeit verwendet werden, während die anderen Optionen kombinierbar sind.

Schalter
A Hängt das ARCHIV2 and das Ende von ARCHIV1
c Legt ein neues Archiv an
d Vergleicht den Inhalt des Archivs mit anderen Dateien
r Fügt die neuen Dateien an das Ende eines bestehenden Archivs an
t Zeigt eine Liste aller Dateien im Archiv
u Fügt nur neue oder veränderte Dateien zum Archiv hinzu
x Extrahiert Dateien aus dem Archiv
 

Optionen
b N Definiert die Blockgröße
e Verhindert das Aufsplittern von Dateien über Archiv-Volumes
f DATEI Name des Archivs mit Pfad oder Gerätename
j Benutzt bzip2 zur Kompression
m Übernimmt nicht die Änderungszeit der Datei aus dem Archiv
n Das Gerät ist kein Bandgerät
p Die Originalrechte werden übernommen
v Zeigt die Liste der Dateien an, die bearbeitet werden
w tar arbeitet interaktiv
z Benutzt gzip zur Kompression
F Skript Am Ende jedes Mediums das angegeben Skript ausführen
L Länges des Bandes in kByte
M Das Archiv ist in mehrere Teile (Volumes) aufgeteilt.
W Überprüft die Dateien, nachdem sie zum Archiv hinzugefügt worden sind.
X DATEI Die in DATEI aufgeführten Dateien werden nicht berücksichtig.
Z Benutzt compress zur Kompression
--exclude DATEI Die DATEI wird nicht berücksichtigt.
 


13.5.1.1 Anlegen eines tar-Archivs

Erstellung eines Archivs (archiv.tar) über alle Dateien im aktuellen Arbeitsverzeichnis und dessen Unterverzeichnissen.
tar cf archiv.tar .

Als Ziel kann neben einer Datei auch ein Gerät angegeben werden. Der folgenden Befehl speichert das komplette Dateisystem auf dem Gerät /dev/tape.

tar cf /dev/tape /

Dabei wird der Inhalt des Magnetbandes überschrieben. Meistens müssen Sie bei einem Magnetband die Blockgröße mit angeben. Die Blockgröße definiert dabei die Menge an Daten (in Einheiten zu 512 Byte), die zur gleichen Zeit geschrieben werden können. Die Angabe erfolgt durch die Option b.

tar cfb /dev/tape 20 /

Wie Sie sehen, wird der Wert für b nicht wie üblich direkt hinter die Option geschrieben, sondern erst werden die Optionen aufgeführt und dann in der Reihenfolge die Werte.

Wenn Sie das Archiv auf mehrere Geräte (z. B. Disketten) aufteilen wollen, müssen Sie die Größe der Archiv-Teile (Volumes) angeben. Dies erfolgt durch den Schalter M. So speichert der folgende Befehl den Inhalt des Verzeichnis /home auf das Diskettengerät /dev/fd0 mit einer Größe von 1440 kB.

tar cfML /dev/fd0 1440 /home

Wenn Sie ein bestehendes Archiv nur auf den neuesten Stand bringen wollen, ohne alle Dateien erneut hineinzupacken, dann benutzen Sie den Schalter u.

tar uf archiv.tar .

Sie können Dateien auch an ein bestehendes Archiv anhängen.

tar rf archiv.tar neueDatei

Solche Archive können sehr groß werden, wenn Sie z. B. Logdateien speichern. Da es sich hierbei in den meisten Fällen um reine Textdateien handelt, können sehr gut gepackt werden. Mit der Option z wird tar angewiesen, das entstandene Archiv auch gleich mit gzip (Abschnitt 13.6.1) zu packen.

Um sich die Dateiliste des Archivs anzeigen zu lassen, kann man den folgenden Befehl verwenden.

tar tf archiv.tar

Nicht immer wollen Sie alle Dateien bzw. Unterverzeichnisse mit in das Archiv packen. Hier kommt die Option -exclude ins Spiel. Diese Option kann mehrfach vorkommen und gibt an, welche Dateien nicht mit ins Archiv sollen.

barclay@enterprise:~/test> tar cvf befehle.tar befehle/
befehle/
befehle/data
befehle/befehle
befehle/befehle.bck
befehle/data.bck
befehle/data.old
barclay@enterprise:~/test> tar cvf befehle.tar --exclude data.old befehle/
befehle/
befehle/data
befehle/befehle
befehle/befehle.bck
befehle/data.bck
barclay@enterprise:~/test> tar cvf befehle.tar --exclude data.old --exclude "*.bck" befehle/
befehle/
befehle/data
befehle/befehle

Haben Sie ein paar Dateien mehr, die nicht mit ins Archiv dürfen, dann können Sie die Namen auch in eine Datei schreiben und diese mit dem Schalter -X als Informationsquelle verwenden.

barclay@enterprise:~/test> cat noarchiv
data.old
*.bck
barclay@enterprise:~/test> tar cvf befehle.tar -X noarchiv befehle/
befehle/
befehle/data
befehle/befehle


13.5.1.2 Entpacken eines tar-Archivs

Um eine Archiv zu entpacken (Schalter x) und dabei auch die Dateinamen zu sehen (Option v) können Sie den folgenden Befehl benutzen.
tar xvf archiv.tar

Vor dem Entpacken, sollten Sie feststellen welche Verzeichnispfad gespeichert wurden. Dies können Sie mit dem Befehl

tar tvf archiv.tar
feststellen. Die Option v erzeugt eine ausführlichere Anzeige als t alleine.

Schauen wir uns doch mal folgendes Beispiel an:

Aus dem Wurzelverzeichnis haben Sie die Daten im Verzeichnis /home mit folgendem Befehl gespeichert.

tar cf home.tar home/*

Daher wurde das Verzeichnis home in jedem Pfad mit eingefügt. Sind Sie allerdings ins Verzeichnis /home gewechselt und haben den Befehl als

tar cf home.tar .
ausgeführt, so ist das Verzeichnis home nicht mehr Bestandteil des Dateipfads.

Bei einem Backup sollten Sie die Dateien immer in dem gleichen Verzeichnis extrahieren in dem Sie auch das Archiv erzeugt hatten.

Um einzelne Dateien aus einem Archiv zu entpacken, können Sie zum einen den interaktiven Modus (Option w) von tar wählen. Bei dem folgenden Befehl werden Sie bei jeder Datei gefragt, ob Sie die Datei entpacken wollen.

tar xvwf archiv.tar

Allerdings hat diese Methode einen schwerwiegenden Nachteil. Auf diesem Wege eine Datei aus einem 10.000 Dateien-Archiv zu entpacken ist doch etwas mühselig. Hier bietet sich einfach an, die gewünschte Datei einfach anzugeben.

tar xf archiv.tar meineDatei.txt

Sie können auch den umgekehrten Weg nehmen und die Dateien angeben, die nicht extrahiert werden sollen. Dies geht analog zum Erstellen des Archivs.

tar xvf archiv.tar --exclude "*.bck"


contents index previous up next
Next: 13.5.2 Was ist ein Up: 13.5 Werkzeuge für die Previous: 13.5 Werkzeuge für die
  © 2004 by IT-Dozent Ole Vanhoefer · Zum Seitenanfang