|
|
(89 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
Zeile 1: |
Zeile 1: |
| =Bezeichnung= | | '''tar''' - speichert Dateien und Verzeichnisse in einem Archiv |
| '''tar''' (Tape Archiver) sichert Daten auf Bandlaufwerken. Ein reines tar-Archiv ist nicht komprimiert.
| | == Beschreibung == |
| In Verbindung mit gzip oder bzip2 trifft man oft auf Dateien mit der Endung *.tar.gz, .tgz oder tar.bz2.
| | ; ''tar'' speichert Dateien in einem Archiv im tar-Format |
| Diese Archivdateien sind zusätzlich komprimiert worden, da tar selbst keine Komprimierung anbietet.
| | * Die Funktionsweise ähnelt vom Konzept her der von [[cpio]] und der von Programmen wie PKZIP unter Windows |
| | * Es wird vom Debian/Paketverwaltungssystem genutzt |
| | * Ist nützlich zur Sicherung von Systemdaten und zum Austausch von Dateisammlungen mit Anderen |
|
| |
|
| =Übersicht=
| | tar (Tape Archiver) sichert Daten auf Bandlaufwerken |
| '''tar''' [Option(en)] Datei(en)
| | * Ein reines tar-Archiv ist nicht komprimiert |
|
| |
|
| = Anwendungren =
| | In Verbindung mit gzip oder bzip2 trifft man oft auf Dateien mit der Endung .tar.gz, .tgz oder .tar.bz2 |
| == Anlegen ==
| | * Diese Archivdateien sind zusätzlich komprimiert worden |
| Ein Archiv mit dem Namen archiv.tar mit den Dateien datei_1.txt und allen Dateien vom Typ *.pdf anlegen:
| | * tar selbst komprimiert nicht |
| tar -cf archiv.tar datei_1.txt *.pdf
| |
| Ein Archiv mit dem Ordner daten inklusive aller Unterordner und Dateien anlegen:
| |
| tar -cf archiv.tar daten/
| |
| Ein Archiv anlegen, zwei Dateien hinzufügen und nachträglich mit gzip komprimieren:
| |
| tar -czf archiv.tar.gz datei_1.txt datei_2.txt
| |
| | |
| == Anzeigen ==
| |
| Den Inhalt eines (komprimierten) Archivs ausführlich anzeigen:
| |
| tar -tvf archiv.tar
| |
|
| |
|
| == Aktualisieren == | | == Installation == |
| Fügt nur Dateien hinzu, wenn sie neueren Datums sind als ihr Gegenstück im Archiv:
| | <syntaxhighlight lang="bash" highlight="1" line> |
| tar -uf archiv.tar daten
| | sudo apt install tar |
| Leider werden bei einer Aktualisierung keine Unterverzeichnisse berücksichtigt!
| | </syntaxhighlight> |
|
| |
|
| == Ändern == | | == Aufruf == |
| Einem Archiv eine Datei hinzufügen:
| | <syntaxhighlight lang="bash" highlight="1" line> |
| tar -rf archiv.tar datei_1.txt
| | tar [Option(en)] Datei(en) |
| | </syntaxhighlight> |
|
| |
|
| == Vergleichen == | | === Optionen === |
| Den Inhalt eines Archivs mit dem Dateisystem vergleichen:
| | {| class="wikitable options" |
| tar -dvf archiv.tar
| |
| Der Befehl sollte in dem Verzeichnis ausgeführt werden, in dem die Dateien, die im Archiv liegen, gespeichert sind.
| |
| | |
| == Extrahieren ==
| |
| Alle Dateien aus einem Archiv im aktuellen Ordner extrahieren:
| |
| tar -xf archiv.tar
| |
| Alle Dateien aus einem mit gzip komprimierten Archiv im ursprünglichen Ordner extrahieren:
| |
| tar -xzf archiv.tar.gz -C /
| |
| Alle Dateien in ein bestimmtes Verzeichnis extrahieren (das Ziel-Verzeichnis muss bereits existieren):
| |
| tar -xzf archiv.tar.gz -C /PFAD/ZUM/ORDNER
| |
| Eine bestimmte Datei aus einem Archiv extrahieren:
| |
| tar -xzf archiv.tar.gz PFAD/DATEINAME
| |
| Dabei muss PFAD/DATEINAME genau so in der Archiv-Datei existieren. Ein angegebenes Unterverzeichnis PFAD wird im aktuellen Verzeichnis (bei relativem Pfad) automatisch erstellt.
| |
| | |
| =Optionen= | |
| {| class="wikitable" | |
| |- | | |- |
| ! Option !! Beschreibung | | ! Option !! Beschreibung |
Zeile 96: |
Zeile 74: |
| |} | | |} |
|
| |
|
| | === Parameter === |
| | === Umgebungsvariablen === |
| | === Exit-Status === |
|
| |
|
| === Backup mit tar === | | == Anwendung == |
| <tt>'''tar'''</tt> (tape archiver) verwaltet Dateiarchive
| | === Erstellen === |
| | ; Archiv erstellen |
| | Ein Archiv mit dem Namen archiv.tar mit den Dateien datei_1.txt und allen Dateien vom Typ *.pdf anlegen: |
| | tar -cf archiv.tar datei_1.txt *.pdf |
|
| |
|
| '''tar''' [-Acdrtux] [-delete] [-b ''N''] [-BgGhiklmMoOpPPsSvwWz] [-C ''Verzeichnis''] [-f ''Datei''] [-F ''Datei''][-K ''Datei''] [-L ''Länge''] [-N ''Datum''] [-T ''Datei''] [-V ''Name''] [-X ''Datei''] [0-7] [{lmh}]
| | Ein Archiv mit dem Ordner daten inklusive aller Unterordner und Dateien anlegen: |
| | tar -cf archiv.tar daten/ |
|
| |
|
| <tt>'''tar'''</tt> ist ursprünglich ein Tool zur Verwaltung von Bandarchiven. Das GNU-<tt>tar</tt> kann aber auch auf ,,rohen`` Disketten oder in normalen Dateien Archive im <tt>tar</tt> Format anlegen und verwalten. Normalerweise werden Archive mit <tt>tar</tt> nicht komprimiert. Das GNU-<tt>tar</tt> kann aber die Ein- und Ausgabe durch einen Kompressor leiten. Die neuen Versionen (ab 1.11.2) unterstützen sowohl <tt>compress</tt> als auch <tt>gzip</tt>.
| | Ein Archiv anlegen, zwei Dateien hinzufügen und nachträglich mit gzip komprimieren |
| | tar -czf archiv.tar.gz datei_1.txt datei_2.txt |
|
| |
|
| Wenn auf der Kommandozeile keine Datei und kein Gerät angegeben ist, versucht <tt>tar</tt> auf die Gerätedatei eines Magnetbandgerätes zuzugreifen. Je nach Konfiguration ist das meist /dev/tape oder /dev/rmt0. Sie können eine andere Voreinstellung wählen, indem Sie die Umgebungsvariable <tt>TAPE</tt> mit dem Pfadnamen der entsprechenden Gerätedatei belegen.
| | === Archiv entpacken === |
| | ; Alle Dateien aus einem Archiv im aktuellen Ordner extrahieren |
| | $ tar -xf archiv.tar |
| | ; Alle Dateien aus einem mit gzip komprimierten Archiv im ursprünglichen Ordner extrahieren |
| | # tar -xzf archiv.tar.gz -C / |
| | ; Alle Dateien in ein bestimmtes Verzeichnis extrahieren (das Ziel-Verzeichnis muss bereits existieren) |
| | $ tar -xzf archiv.tar.gz -C /PFAD/ZUM/ORDNER |
| | ; Eine bestimmte Datei aus einem Archiv extrahieren |
| | $ tar -xzf archiv.tar.gz PFAD/DATEINAME |
| | Dabei muss PFAD/DATEINAME genau so in der Archiv-Datei existieren. Ein angegebenes Unterverzeichnis PFAD wird im aktuellen Verzeichnis (bei relativem Pfad) automatisch erstellt. |
|
| |
|
| '''Optionen'''
| | === Archivinhalt anzeigen === |
| | Inhalt eines Archivs anzeigen |
| | tar -tvf archiv.tar |
|
| |
|
| Die Optionen können aus Gründen der Kompatibilität mit anderen, älteren Versionen von <tt>tar</tt> auch in Abweichung von den [../../../ebooks/computer/betriebssysteme/linux/allgemein/unsortiert/linux_anwender_handbuch/linux_anwenderhandbuch_7-0/node23.html#goldenrules POSIX-Regeln] ohne das für Optionen übliche Minuszeichen angegeben werden. <tt>tar</tt> interpretiert den ersten Kommandoparameter immer als Optionsblock. Optionsargumente müssen dann im Anschluß an den Optionsblock in der Reihenfolge angegeben werden, in der die Optionen im Optionsblock erscheinen.
| | === Aktualisieren === |
| | | Fügt nur Dateien hinzu, wenn sie neueren Datums sind als ihr Gegenstück im Archiv: |
| Einige wenige spezielle Optionen des GNU-<tt>tar</tt> sind nicht als einfache Buchstabenoptionen erreichbar. Diese Schalter und Regler können Sie nur in der für GNU-Kommandos spezifischen verbalen Form erreichen.
| | tar -uf archiv.tar daten |
| | | Leider werden bei einer Aktualisierung keine Unterverzeichnisse berücksichtigt! |
| {| class="wikitable sortable"
| |
| |-
| |
| | | <tt>'''-A</tt> '''
| |
| | | hängt ein komplettes Archiv an ein anderes Archiv an (nicht für Magnetbänder)
| |
| |-
| |
| | | <tt>'''-c</tt> '''
| |
| | | erzeugt ein neues Archiv
| |
| |-
| |
| | | <tt>'''-d</tt> '''
| |
| | | vergleicht das Archiv mit dem Dateisystem
| |
| |-
| |
| | | '''- -delete ''Datei'' '''
| |
| | | löscht die ''Datei'' aus dem Archiv (nicht für Magnetbänder)
| |
| |-
| |
| | | <tt>'''-r</tt> '''
| |
| | | hängt Dateien an das Archiv an (nicht für Magnetbänder)
| |
| |-
| |
| | | <tt>'''-t</tt> '''
| |
| | | zeigt den Inhalt des Archivs
| |
| |-
| |
| | | <tt>'''-u</tt> '''
| |
| | | ersetzt Dateien, die neuer als eine bereits archivierte Version sind; ist eine Datei noch nicht archiviert, so wird sie eingefügt (nicht für Magnetbänder)
| |
| |-
| |
| | | <tt>'''-x</tt> '''
| |
| | | kopiert ''Datei'' oder alle Dateien aus dem Archiv
| |
| |-
| |
| | | '''Weitere Optionen '''
| |
| | |
| |
| |-
| |
| | | <tt>'''-atime-preserve</tt> '''
| |
| | | veranlaßt <tt>tar</tt>, die Zugriffszeit nach der Archivierung zurück zu setzen
| |
| |-
| |
| | | <tt>'''-b</tt> ''N'' '''
| |
| | | setzt die Blockgröße auf ''N''x512 Bytes (Voreinstellung ist N=20)
| |
| |-
| |
| | | <tt>'''-B</tt> '''
| |
| | | unterdrückt den Abbruch von <tt>tar</tt> beim Lesen unvollständiger Blöcke; zum Lesen von 4.2BSD Pipes
| |
| |-
| |
| | | <tt>'''-C</tt> ''Verzeichnis'' '''
| |
| | | wechselt während der Ausführung in das ''Verzeichnis'', um von dort weitere Dateien zu archivieren
| |
| |-
| |
| | | <tt>'''-f</tt> ''Datei'' '''
| |
| | | benutzt ''Datei'' oder das damit verbundenen Gerät als Archiv
| |
| |-
| |
| | | <tt>'''-F</tt> ''Datei'' '''
| |
| | | bei mehrteiligen Archiven (Option <tt>-M</tt>) wird das Shellscript ''Datei'' ausgeführt, wenn das Medium voll ist
| |
| |-
| |
| | | <tt>'''-G</tt> '''
| |
| | | erzeugt am Anfang des Bandarchives einen speziellen Eintrag für jedes archivierte Verzeichnis; spezielles GNU Format
| |
| |-
| |
| | | <tt>'''-g</tt> ''Datei'' '''
| |
| | | erzeugt eine ''Datei'' mit einer Liste der archivierten Verzeichnisse als Zeitmarke der Archivierung; wenn die ''Datei'' bereits existiert, werden nur die Dateien archiviert, die nach dieser Zeitmarke erzeugt oder verändert wurden (spezielles GNU Format: 1. Zeile = Zeitmarke, 1. Feld = Nr. der Partition, 2. Feld = Inode des Verzeichnisses, 3. Feld = Name des Verzeichnisses)
| |
| |-
| |
| | | <tt>'''-h</tt> '''
| |
| | | archiviert die referenzierten Dateien anstelle der Links
| |
| |-
| |
| | | <tt>'''-i</tt> '''
| |
| | | ignoriert Blöcke mit Nullbytes im Archiv
| |
| |-
| |
| | | <tt>'''-k</tt> '''
| |
| | | existierende Dateien werden beim Auspacken von Archiven nicht überschrieben
| |
| |-
| |
| | | <tt>'''-K</tt> ''Datei'' '''
| |
| | | beginnt eine Aktion bei ''Datei'' im Archiv
| |
| |-
| |
| | | <tt>'''-l</tt> '''
| |
| | | verhindert Archivierung von Dateien aus anderen Dateisystemen
| |
| |-
| |
| | | <tt>'''-L</tt> ''Länge'' '''
| |
| | | wartet auf Medienwechsel nach ''Länge'' Bytes
| |
| |-
| |
| | | <tt>'''-m</tt> '''
| |
| | | das Datum der letzten Änderung wird nicht mitarchiviert
| |
| |-
| |
| | | <tt>'''-M</tt> '''
| |
| | | das Archiv ist auf mehrere Medien verteilt (Multi-Volume)
| |
| |-
| |
| | | <tt>'''-N</tt> ''Datum'' '''
| |
| | | archiviert nur Dateien, die neuer sind als ''Datum''
| |
| |-
| |
| | | <tt>'''-o</tt> '''
| |
| | | benutzt das alte V7 <tt>tar</tt>-Format anstelle des ANSI Formates
| |
| |-
| |
| | | <tt>'''-O</tt> '''
| |
| | | schreibt die Dateien in die Standardausgabe
| |
| |-
| |
| | | <tt>'''-p</tt> '''
| |
| | | erhält die Zugriffsrechte der Dateien
| |
| |-
| |
| | | <tt>'''-P</tt> '''
| |
| | | archiviert mit absoluten Dateinamen
| |
| |-
| |
| | | <tt>'''-R</tt> '''
| |
| | | gibt zu jeder Meldung die Blocknummer des Archivblocks aus, von dem die Meldung verursacht wurde
| |
| |-
| |
| | | <tt>'''-s</tt> '''
| |
| | | zeigt an, daß die Liste von Dateien im Argument die gleiche Reihenfolge hat wie die Dateien im Archiv
| |
| |-
| |
| | | <tt>'''-T</tt> ''Datei'' '''
| |
| | | holt die Namen der zu archivierenden Dateien aus ''Datei''
| |
| |-
| |
| | | <tt>'''-v</tt> '''
| |
| | | meldet jede Aktion
| |
| |-
| |
| | | <tt>'''-V</tt> ''Name'' '''
| |
| | | erzeugt ein Archiv mit dem (internen) Label ''Name''
| |
| |-
| |
| | | <tt>'''-w</tt> '''
| |
| | | erwartet interaktiv Bestätigung jeder Aktion
| |
| |-
| |
| | | <tt>'''-W</tt> '''
| |
| | | verifiziert die geschriebenen Daten im Archiv
| |
| |-
| |
| | | <tt>'''-X</tt> ''Datei'' '''
| |
| | | liest aus der ''Datei'' Namen oder reguläre Ausdrücke vonoder für Dateien, die nicht archiviert werden sollen
| |
| |-
| |
| | | <tt>'''-z</tt> '''
| |
| | | erzeugt ein mit <tt>gzip</tt> komprimiertes Archiv
| |
| |-
| |
| | | <tt>'''-Z</tt> '''
| |
| | | erzeugt ein mit <tt>compress</tt> komprimiertes Archiv
| |
| |-
| |
| | | '''-{0..7}{lmh} '''
| |
| | | spezifiziert das Gerät und die Dichte des Speichermediums (für Diskettenarchive ohne Bedeutung); 0 ist der erste Streamer, 1 der zweite und so weiter; die Dichte bestimmt den Bandtyp
| |
| |-
| |
| |}
| |
| '''Beispiel'''
| |
|
| |
|
| Der Tape Archiver ist das verbreitetste Werkzeug zur Datensicherung in Unix-Systemen. Ursprünglich rein zur Datenübertragung auf Bänder konzipiert, mit deren Hilfe der Datenaustausch zwischen verschiedenen Computern zu Zeiten fehlender Netzwerke ermöglicht werden sollte, hat sich gerade durch die Eignung von Bändern als Backupmedium das Programm quasi zum Standardwerkzeug für das Backup in kleineren Netzwerken etabliert, trotz des Fehlens einer brauchbaren Unterstützung von inkrementellen Backups.
| | === Datei hinzufügen === |
| | tar -rf archiv.tar datei_1.txt |
|
| |
|
| Als Werkzeug zur [../../../../index.php/Linuxfibel_-_Nutzerkommandos_-_Archivierung Archivierung ]wurde [../../../../index.php/Linuxfibel_-_Nutzerkommandos_-_Archivierung#tar_-_Das_Standard-Archiv-Format tar ]im Kapitel [../../../../index.php%3Ftitle=Linuxfibel_-_Nuterkommandos&action=edit Nutzerkommandos ]bereits vorgestellt. Hier soll nun der Schwerpunkt auf den Einsatz des Kommandos zum Backup von Daten liegen.
| | === Vergleich === |
| | ; Archiv mit Dateisystem |
| | tar -dvf archiv.tar |
|
| |
|
| tar [ OPTION... ] [ DATEI... ]
| | Der Befehl muss in dem Verzeichnis ausgeführt werden, in dem die Dateien, die im Archiv liegen, gespeichert sind. |
|
| |
|
| tar arbeitet auf Dateiebene, kann also beliebige Dateien und Verzeichnisse in eine einzige Zieldatei verpacken. Zieldatei kann dabei alles bedeuten, was unter Unix als Datei betrachtet wird, also ein Gerät, eine normale Datei, eine Pipe...
| | === Problembehebung === |
| | | == Konfiguration == |
| Die drei wichtigsten Optionen sind c zum Erzeugen eines Archivs, t zum Betrachten des Archivinhalts und x zum Entpacken desselben.
| | === Dateien === |
| | |
| ==== Volles Backup ====
| |
| tar wird alle angegebenen Dateien (oder rekursiv den Inhalt von Verzeichnissen) in ein Archiv verpacken. Per Voreinstellung versucht das Kommando das Archiv auf einen Streamer zu schreiben (/dev/tape oder /dev/rmt0), ist kein solcher im System installiert, schreibt tar das Ergebnis auf die Standardausgabe. Um das Archiv in einer Datei zu sichern, ist die Option -f Datei zu wählen.
| |
| | |
| Eine angenehme Eigenschaft ist der Umgang mit »Multivolumes« (Option -M) . Speichert man zum Beispiel das Archiv auf eine Diskette und reicht deren Speicherkapazität nicht aus, so fordert tar automatisch zum Wechsel des Mediums auf:
| |
| | |
| user@sonne> tar -Mcf /dev/fd0h1440 ~/Books/
| |
| tar: Removing leading `/' from absolute path names in the archive
| |
| Prepare volume #2 for /dev/fd0h1440 and hit return:
| |
| Prepare volume #3 for /dev/fd0h1440 and hit return:
| |
| Prepare volume #4 for /dev/fd0h1440 and hit return:
| |
| | |
| Im Beispiel schreibt tar die Daten auf eine (unformatierte) Diskette, weswegen dem Kommando genau mitgeteilt werden muss, wie groß die Speicherkapazität dieser ist (es ist das entsprechende Device anzugeben). Als erstes entfernt tar in allen Pfadnamen den führenden Slash (-P forciert die Verwendung absoluter Pfadnamen), so dass das Archiv bei einem späteren Entpacken an beliebiger Stelle im Dateisystem extrahiert werden kann - bei Beibehaltung der Verzeichnisstruktur. Nachfolgend wird der Benutzer zum Wechsel der Disketten aufgefordert. Alternativ zu »-M« kann mit -L Anzahl der Medienwechsel nach Archivierung von Anzahl Bytes erzwungen werden.
| |
| | |
| Es ist allerdings furchtbar uneffizient, das Archiv unkomprimiert abzulegen. tar kann zum Glück mit mehreren [../../../../index.php/Linuxfibel_-_Nutzerkommandos_-_Archivierung Packern ]zusammen arbeiten. Mit -z wird das Archiv mit [../../../../index.php/Linuxfibel_-_Nutzerkommandos_-_Archivierung#gzip_-_Dateien_komprimieren gzip ]komprimiert; -Z nutzt das (veraltete) Werkzeug [../../../../index.php/Linuxfibel_-_Nutzerkommandos_-_Archivierung#compress_-_Dateien_komprimieren compress ]und -j (alt: -I) den derzeit effektivsten Packalgorithmus des Kommandos [../../../../index.php/Linuxfibel_-_Nutzerkommandos_-_Archivierung#bzip2_-_Dateien_komprimieren bzip2. ]Wurde ein Archiv einmal gepackt, ist bei allen weiteren Operationen die Option für den jeweiligen Packer anzugeben! Das Packen funktioniert allerdings nicht bei Multilevel-Archiven. Ein Ausweg wäre das »vorab«-Komprimieren einer jeden Datei (zum Beispiel mittels eines Skripts) mit anschließender Archivierung.
| |
| | |
| ==== Inkrementelles Backup ==== | |
| tar unterstützt nur eine rudimentäre Variante des inkrementellen Backups, in dem Daten zur Archivierung ausgewählt werden können, die »neuer« als ein anzugebendes Datum sind. Das Datum (-n Datum) ist hierbei im Format »Jahr-Monat-Tag« anzugeben. Um zum Beispiel alle Dateien zu erfassen, die in den letzten 7 Tagen (ab aktuellem Zeitpunkt) modifiziert wurden, kann folgender Kommandoaufruf verwendet werden:
| |
| | |
| user@sonne> tar -n $(date -d "now 7 days ago" +%Y-%b-%d) -czf /tmp/backup.tgz ~/Books/
| |
| | |
| Im Beispiel wurde bewusst die etwas verwirrende Kalkulation des Datums mit Hilfe von [../../../../index.php%3Ftitle=Linuxfibel_-_Sytem-Administration_-_Zeit_und_Steuerung&action=edit date ]gewählt, da dessen Einsatz das Schreiben eines Skripts zum automatischen Erzeugen von inkrementellen Backups vereinfacht.
| |
| | |
| ==== Überprüfung des Archives ====
| |
| Um sich von einer ordnungsgemäßen Archivierung zu überzeugen, sollte das resultierende Archiv einem Test unterzogen werden. Da der Slash automatisch entfernt wurde, ist zuvor ins Wurzelverzeichnis zu wechseln oder das Arbeitsverzeichnis mit -C Pfad zu ändern und (in Bezug auf obiges Beispiel) Folgendes aufzurufen:
| |
| | |
| user@sonne> tar -C / -d -f /dev/fd0h1440
| |
| | |
| tar überzeugt sich nun, dass alle Dateien des Archivs auch im Dateisystem existieren. Sobald eine Unstimmigkeit festgestellt wird, wird das Kommando den Fehler ausgeben:
| |
| | |
| <nowiki># Um einen Fehler zu provozieren, wurde eine Datei verschoben</nowiki>
| |
| user@sonne> tar -df /dev/fd0h1440
| |
| home/user/Books/linuxfibel.pdf: File does not exist
| |
| | |
| ==== Recovery ====
| |
| Zu einem Backup gehört natürlich auch eine Möglichkeit, dieses wieder zurückzuspielen. Hier gelangt die Option -x (extract) zum Einsatz. Im Falle von relativen Pfadangaben im Archiv wird die Verzeichnisstruktur unterhalb des aktuellen Verzeichnisses erzeugt. Sie sollten also entweder zuvor ins Zielverzeichnis wechseln, oder dieses mit -C Pfad explizit angeben:
| |
| | |
| user@sonne> tar -C / -x -f /dev/fd0h1440
| |
| | |
| Handelt es sich um ein auf mehrere Medien verteiltes Archiv, muss die Option -M angegeben werden. tar fordert dann zum Medienwechsel auf.
| |
| | |
| Möchten Sie nur einzelne Dateien extrahieren, sind deren Namen mit vollständiger Pfadangabe auf der Kommandozeile anzugeben. Hier hilft eventuell die Option -t, um den korrekten Namen, so wie er im Archiv gespeichert ist, zu erfahren:
| |
| | |
| user@sonne> tar tf /dev/fd0h1440
| |
| home/user/Books/access.htm
| |
| home/user/Books/index.htm
| |
| home/user/Books/stuff.htm
| |
| home/user/Books/test.htm
| |
| ...
| |
| user@sonne> tar -C / -x -f /dev/fd0h1440 home/user/Books/index.htm
| |
| | |
| ==== Grafische Verpackung: kdat ====
| |
| {| class="wikitable sortable"
| |
| |-
| |
| || Mit dem Programm kdat steht den KDE-Benutzern eine grafische Oberfläche zur Backupverwaltung mit tar zur Verfügung. Leider wird als Backupmedium derzeit nur das Tape unterstützt.
| |
| | |
| Nach dem Start von kdat sollte unter dem Menüpunkt »Bearbeiten->Einstellungen« der Typ des Tapes (Speicherkapazität, Device, Blockgröße) angepasst werden.
| |
| | |
| Anschließend muss das Tape gemountet werden, wobei kdat testet, ob das Band formatiert ist und ggf. zu einer Formatierung auffordert (Vorsicht: eventueller Datenverlust).
| |
| || [[Image:Grafik4.png|right|top]]
| |
| |-
| |
| |}
| |
| Das vorgeschlagene »Label« kann übernommen werden, es ist ein eindeutiger Name für das Backup.
| |
|
| |
|
| Im Hauptfenster ist der Verzeichnisbaum u.a. des Rechners dargestellt. Jedes zu sicherne Verzeichnisoder jede Datei ist durch Klick mit der rechten Maustaste zu selektieren. Ein Verzeichnis schließt dabei die enthaltenen Dateien/Verzeichnisse ein, wobei diese wiederum von einer Sicherung ausgeschlossen werden können. Ein markierter Eintrag ist hervorgehoben dargestellt. Über das Sichern-Symbol (oder »Datei->Sichern«) werden alle selektierten Dateien und Verzeichnisse auf das Tape geschrieben.
| | <noinclude> |
| | == Anhang == |
| | === Siehe auch === |
| | {{Special:PrefixIndex/{{BASEPAGENAME}}}} |
| | ==== Dokumentation ==== |
|
| |
|
| Um nicht bei jedem Aufruf die Dateien einzeln markieren zu müssen, können beliebig viele Sicherungsprofile angelegt werden. Jedes Profil enthält eine Liste der zu sichernden Daten.
| | ===== Man-Page ===== |
| | ===== Info-Pages ===== |
| | ==== Links ==== |
| | ===== Projekt ===== |
| | ===== Weblinks ===== |
|
| |
|
| | [[Kategorie:Linux/Datei/Archiv]] |
| | [[Kategorie:Linux/Befehl]] |
|
| |
|
| [[Category:Linux:Archive]]
| | {{DEFAULTSORT:tar}} |
| | {{DISPLAYTITLE:tar}} |
| | </noinclude> |
tar - speichert Dateien und Verzeichnisse in einem Archiv
Beschreibung
- tar speichert Dateien in einem Archiv im tar-Format
- Die Funktionsweise ähnelt vom Konzept her der von cpio und der von Programmen wie PKZIP unter Windows
- Es wird vom Debian/Paketverwaltungssystem genutzt
- Ist nützlich zur Sicherung von Systemdaten und zum Austausch von Dateisammlungen mit Anderen
tar (Tape Archiver) sichert Daten auf Bandlaufwerken
- Ein reines tar-Archiv ist nicht komprimiert
In Verbindung mit gzip oder bzip2 trifft man oft auf Dateien mit der Endung .tar.gz, .tgz oder .tar.bz2
- Diese Archivdateien sind zusätzlich komprimiert worden
- tar selbst komprimiert nicht
Installation
Aufruf
tar [Option(en)] Datei(en)
Optionen
Option |
Beschreibung
|
-help |
Zeigt eine vollständige Übersicht über alle Optionen
|
-version |
Gibt die installierte Version von tar aus
|
-c |
Ein neues Archiv erzeugen
|
-d |
Dateien im Archiv und im Dateisystem miteinander vergleichen
|
-f |
Archiv in angegebene Datei schreiben / Daten aus angegebener Datei lesen. Diese Option muss die letzte sein, da die nachfolgende Zeichen als Datei interpretiert werden. Z.B. würde -cfv zu einer Fehlermeldung führen. Korrekt wäre -vcf
|
-j |
Archiv zusätzlich mit bzip2 (de)komprimieren
|
-J |
Archiv zusätzlich mit xz (de)komprimieren
|
-k |
Das Überschreiben existierender Dateien beim Extrahieren aus einem Archiv verhindern
|
-p |
Zugriffsrechte beim Extrahieren erhalten
|
-r |
Dateien an ein bestehendes Archiv anhängen
|
-t |
Inhalt eines Archivs anzeigen
|
-u |
Nur Dateien anhängen, die jünger sind als ihre Archiv-Version.
|
-v |
Ausführliche Ausgabe aktivieren. Hierbei ist zu beachten, dass man dies möglichst an den Anfang des Befehls anhängt, wenn mehrere Optionen kombiniert werden. Z.B. würde -cfv zu einer Fehlermeldung führen. Korrekt wäre -vcf
|
-w |
Jede Aktion bestätigen
|
-x |
Dateien aus einem Archiv extrahieren
|
-z |
Archiv zusätzlich mit gzip (de)komprimieren
|
-Z |
Archiv zusätzlich mit compress (de)komprimieren
|
-A |
Inhalt eines bestehenden Archivs an ein anderes Archiv anhängen
|
-C |
Wechselt in das angegebene Verzeichnis. Das Archiv wird dann dort entpackt
|
-M |
Mehrteiliges Archiv anlegen/anzeigen/extrahieren
|
-L |
Medium wechseln, wenn ZAHL KBytes geschrieben sind
|
-W |
Archiv nach dem Schreiben prüfen
|
Parameter
Umgebungsvariablen
Exit-Status
Anwendung
Erstellen
- Archiv erstellen
Ein Archiv mit dem Namen archiv.tar mit den Dateien datei_1.txt und allen Dateien vom Typ *.pdf anlegen:
tar -cf archiv.tar datei_1.txt *.pdf
Ein Archiv mit dem Ordner daten inklusive aller Unterordner und Dateien anlegen:
tar -cf archiv.tar daten/
Ein Archiv anlegen, zwei Dateien hinzufügen und nachträglich mit gzip komprimieren
tar -czf archiv.tar.gz datei_1.txt datei_2.txt
Archiv entpacken
- Alle Dateien aus einem Archiv im aktuellen Ordner extrahieren
$ tar -xf archiv.tar
- Alle Dateien aus einem mit gzip komprimierten Archiv im ursprünglichen Ordner extrahieren
# tar -xzf archiv.tar.gz -C /
- Alle Dateien in ein bestimmtes Verzeichnis extrahieren (das Ziel-Verzeichnis muss bereits existieren)
$ tar -xzf archiv.tar.gz -C /PFAD/ZUM/ORDNER
- Eine bestimmte Datei aus einem Archiv extrahieren
$ tar -xzf archiv.tar.gz PFAD/DATEINAME
Dabei muss PFAD/DATEINAME genau so in der Archiv-Datei existieren. Ein angegebenes Unterverzeichnis PFAD wird im aktuellen Verzeichnis (bei relativem Pfad) automatisch erstellt.
Archivinhalt anzeigen
Inhalt eines Archivs anzeigen
tar -tvf archiv.tar
Aktualisieren
Fügt nur Dateien hinzu, wenn sie neueren Datums sind als ihr Gegenstück im Archiv:
tar -uf archiv.tar daten
Leider werden bei einer Aktualisierung keine Unterverzeichnisse berücksichtigt!
Datei hinzufügen
tar -rf archiv.tar datei_1.txt
Vergleich
- Archiv mit Dateisystem
tar -dvf archiv.tar
Der Befehl muss in dem Verzeichnis ausgeführt werden, in dem die Dateien, die im Archiv liegen, gespeichert sind.
Problembehebung
Konfiguration
Dateien
Anhang
Siehe auch
Dokumentation
Man-Page
Info-Pages
Links
Projekt
Weblinks