TAR(1) Handbuch zu GNU TAR TAR(1) BEZEICHNUNG tar - ein Archivierungswerkzeug UBERSICHT Traditioneller Aufruf tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG ] Aufruf im UNIX-Stil tar -A [OPTIONEN] -f ARCHIV ARCHIV tar -c [-f ARCHIV] [OPTIONEN] [DATEI ] tar -d [-f ARCHIV] [OPTIONEN] [DATEI ] tar -r [-f ARCHIV] [OPTIONEN] [DATEI ] tar -t [-f ARCHIV] [OPTIONEN] [ELEMENT ] tar -u [-f ARCHIV] [OPTIONEN] [DATEI ] tar -x [-f ARCHIV] [OPTIONEN] [ELEMENT ] Aufruf im GNU-Stil tar {--catenate|--concatenate} [OPTIONEN] --file ARCHIV ARCHIV tar --create [--file ARCHIV] [OPTIONEN] [DATEI ] tar {--diff|--compare} [--file ARCHIV] [OPTIONEN] [DATEI ] tar --delete [--file ARCHIV] [OPTIONEN] [ELEMENT ] tar --append [--file ARCHIV] [OPTIONEN] [DATEI ] tar --list [--file ARCHIV] [OPTIONEN] [ELEMENT ] tar --test-label [--file ARCHIV] [OPTIONEN] [BEZEICHNUNG ] tar --update [--file ARCHIV] [OPTIONEN] [DATEI ] tar {--extract|--get} [--file ARCHIV] [OPTIONEN] [ELEMENT ] ANMERKUNGEN Diese Handbuchseite ist eine Kurzbeschreibung von GNU tar. Detailliertere Erlauterungen einschliesslich Beispielen und Empfehlungen fur Befehlsaufrufe finden Sie im GNU Tar Manual im Texinfo-Format. Wenn das Anzeigeprogramm info(1) und die Dokumentation zu Tar auf Ihrem System korrekt installiert sind, konnen Sie mit dem Befehl info tar auf das vollstandige Handbuch zugreifen. Sie konnen das Handbuch auch im Info-Modus in emacs(1) betrachten. Weiterhin finden Sie verschiedene Formate online auf https://www.gnu.org/software/tar/manual Falls Sie in dieser Handbuchseite und dem GNU Tar Manual unterschiedliche Aussagen entdecken, sollte Letzteres als Referenzquelle anerkannt werden. BESCHREIBUNG GNU tar ist ein Archivprogramm, das mit dem Ziel entwickelt wird, mehrere Dateien in einer einzigen Datei zu speichern (einem Archiv) sowie diese Dateien zu bearbeiten. Das Archiv kann entweder eine regulare Datei oder ein Gerat sein (zum Beispiel ein Bandlaufwerk, woraus der Name des Programms abgeleitet wurde, der fur tape archiver steht), das sich auf einem lokalen Rechner oder auch einem Rechner im Netz befinden kann. Optionsstile Die Optionen konnen an tar auf drei verschiedene Arten ubergeben werden. Im traditionellen Stil ist das erste Argument eine Aneinanderreihung von Optionsbuchstaben und alle darauf folgenden Argumente ubergeben wiederum Argumente an die Optionen, wo sie notwendig sind. Die Argumente werden in der gleichen Reihenfolge wie die Optionsbuchstaben ausgewertet. Alle Worter in der Befehlszeile, die nach den Optionen verbleiben, werden als Nicht-Options-Argumente verarbeitet: Namen von Dateien oder Archivelementen. Beispielsweise erfordert die Option c die Erstellung eines Archives, die Option v ausfuhrliche Ausgaben, und die Option f erwartet ein Argument, das den Namen des Archivs angibt, das verarbeitet werden soll. Der folgende Befehl im traditionellen Stil weist tar an, alle Dateien aus dem Verzeichnis /etc in die Archivdatei etc.tar zu packen, wobei die archivierten Dateien ausfuhrlich aufgelistet werden: tar cfv etc.tar /etc Im UNIX oder Kurzoptions-Stil wird jedem Optionsbuchstaben ein einzelnes Minuszeichen vorangestellt, so wie in anderen Befehlszeilenwerkzeugen auch. Wenn eine Option ein Argument akzeptiert, folgt es danach, entweder als separates Wort in der Befehlszeile oder unmittelbar nach der Option. Wenn jedoch die Option ein optionales Argument akzeptiert, muss das Argument ohne Leerzeichen direkt auf den Optionsbuchstaben folgen, zum Beispiel wie in -g/tmp/snar.db. Eine beliebige Anzahl von Optionen, die keine Argumente akzeptieren, konnen nach einem einzelnen Minuszeichen zusammengefasst werden, zum Beispiel -vkp. Eine Option, die ein Argument akzeptiert (egal ob obligatorisch oder optional), kann am Ende angehangt werden, zum Beispiel -vkpf a.tar. Der obige Beispielbefehl konnte im Kurzoptions-Stil folgendermassen aussehen: tar -cvf etc.tar /etc oder tar -c -v -f etc.tar /etc Im GNU oder Langoptions-Stil beginnt jede Option mit einem doppelten Minuszeichen und hat einen aussagekraftigen Namen, der aus Kleinbuchstaben und Minuszeichen besteht. Die Langoption kann mit ihren Anfangsbuchstaben abgekurzt werden, sofern dadurch kein Zweideutigkeiten verursacht werden. Argumente zu Langoptionen werden entweder als separates Wort in der Befehlszeile unmittelbar nach der Option ubergeben, oder durch ein Gleichheitszeichen von der Option getrennt, ohne eingefugte Leerzeichen. Optionale Argumente mussen stets auf die letztgenannte Weise ubergeben werden. Nachfolgend finden Sie verschiedene Moglichkeiten des Beispielbefehls in diesem Stil: tar --create --file etc.tar --verbose /etc oder (durch Abkurzung einiger Optionen): tar --cre --file=etc.tar --verb /etc Die Optionen in allen drei Stilen konnen miteinander gemischt werden. Dies wird mit alten Optionen jedoch nicht empfohlen. Betriebsmodus Die in der nachfolgenden Tabelle aufgelisteten Optionen weisen tar an, welche Aktion ausgefuhrt werden soll. Exakt eine davon muss angegeben werden. Die Bedeutung der Nicht-Options-Argumente hangt davon ab, welcher Aktionsmodus angefordert wird. -A, --catenate, --concatenate hangt Archive an das Ende eines anderen Archivs an. Die Argumente werden als die Namen der anzuhangenden Archive aufgefasst. Alle Archive mussen im gleichen Format des Archivs vorliegen, an das sie angehangt werden sollen. Anderenfalls ware das Archiv mit Nicht-GNU-Implementationen von tar nicht verwendbar. Beachten Sie auch, dass bei Angabe von mehr als einem Archiv jene Elemente, die nicht aus dem ersten Archiv stammen, im sich ergebenden Archiv nur dann verfugbar sein werden, wenn die Option -i (--ignore-zeros) angegeben wird. Komprimierte Archive konnen nicht verkettet werden. -c, --create erstellt ein neues Archiv. Argumente werden als Namen der zu archivierenden Dateien aufgefasst. Verzeichnisse werden rekursiv archiviert, ausser wenn die Option --no-recursion angegeben ist. -d, --diff, --compare findet Unterschiede zwischen Archiv und Dateisystem. Die Argumente sind optional und geben die zu vergleichenden Archivelemente an. Falls nichts angegeben ist, wird das aktuelle Arbeitsverzeichnis angenommen. --delete loscht Elemente aus dem Archiv. Die ubergebenen Argumente sind Namen der zu loschenden Elemente. Es muss mindestens ein Argument angegeben werden. Diese Option funktioniert nicht mit gepackten Archiven. Ausserdem gibt es keine entsprechende kurze Option. -r, --append hangt Dateien am Ende eines Archivs an. Die Argumente sind gleichbedeutend mit jenen fur -c (--create). -t, --list listet den Inhalt eines Archivs auf. Argumente sind optional. Wenn angegeben, bezeichnen diese die Namen der aufzulistenden Argumente. --test-label testet die Datentragerbezeichnung des Archivs und beendet das Programm. Wenn es ohne Argumente aufgerufen wird, wird die Datentragerbezeichnung aufgerufen (sofern vorhanden) und das Programm mit dem Status 0 beendet. Wenn eines oder mehrere Befehlszeilenargumente angegeben sind, vergleicht tar die Datentragerbezeichnung mit jedem Argument. Es wird mit dem Exit-Code 0 beendet, falls eine Ubereinstimmung gefunden wird, anderenfalls mit 1. Es erfolgt nur dann eine Ausgabe, wenn die Option -v (--verbose) ubergeben wurde. Fur diese Option gibt es keine entsprechende kurze Option. -u, --update hangt Dateien, die neuer als die entsprechende Kopie in dem Archiv sind, an. Die Argumente haben die gleiche Bedeutung wie bei den Optionen -c und -r. Beachten Sie, dass neuere Dateien nicht ihre alteren Archivkopien ersetzen, sondern stattdessen an das Ende des Archivs angehangt werden. Das entstandende Archiv kann daher mehrere Mitglieder mit dem gleichen Namen enthalten, entsprechend mehrerer Versionen der gleichen Datei. -x, --extract, --get entpackt Dateien aus einem Archiv. Argumente sind optional. Wenn angegeben, bezeichnen sie die Namen der Elemente, die aus dem Archiv entpackt werden sollen. --show-defaults zeigt die eingebauten Voreinstellungen fur verschiedene Optionen von tar an und beendet das Programm. -?, --help zeigt eine kurze Zusammenfassung der Optionen an und beendet das Programm. --usage zeigt eine Liste der verfugbaren Optionen an und beendet das Programm. --version zeigt Versions- und Urheberrechtsinformationen an und beendet das Programm. OPTIONEN Aktionsattribute --check-device uberpruft Geratenummern, wenn inkrementelle Archive erstellt werden (Voreinstellung). -g, --listed-incremental=DATEI verarbeitet inkrementelle Sicherungen im neuen GNU-Format. DATEI ist der Name einer Schnappschuss-Datei, wo tar zusatzliche Informationen speichert. Diese werden zur Entscheidung daruber herangezogen, welche Dateien sich seit der letzten inkrementellen Sicherung geandert haben und daher nicht erneut gespeichert werden mussen. Wenn diese DATEI bei der Erstellung eines Archivs nicht existiert, wird sie angelegt und alle Dateien zum sich ergebenden Archiv hinzugefugt werden (die Speicherung der Stufe 0). Um inkrementelle Archive der von Null verschiedenen Stufe N zu erzeugen, erstellen Sie eine Kopie der Schnappschuss-Datei wahrend der Stufe N-1 und verwenden Sie diese als DATEI. Beim Auflisten oder Entpacken wird der tatsachliche Inhalt der DATEI nicht untersucht, es ist nur aus syntaktischen Erfordernissen notig. Daher wird haufig /dev/null verwendet. --hole-detection=METHODE verwendet die angegebene METHODE zum Finden von Lucken in Sparse-Dateien. Diese Option impliziert --sparse. Gultige Werte fur METHODE sind seek and raw. In der Voreinstellung wird seek benutzt, anderenfalls wird auf raw ausgewichen, wenn seek nicht anwendbar ist. -G, --incremental verwendet das alte GNU-Format fur inkrementelle Sicherheitskopien. --ignore-failed-read beendet bei nicht lesbaren Dateien nicht mit einem Ruckgabewert ungleich Null. --level=ZAHL legt die Speicherstufe fur erzeugte >>listed-incremental<<-Archive fest. Gegenwartig ist nur --level=0 von Bedeutung: Es weist tar an, den Schnappschuss vor der Ausgabe zu kurzen, wobei die Stufe 0 erzwungen wird. -n, --seek nimmt an, dass das Archiv durchsuchbar ist. Normalerweise ermittelt tar automatisch, ob ein Archiv durchsucht werden kann oder nicht. Diese Option ist fur jene Falle gedacht, in denen die automatische Erkennung nicht funktioniert. Sie ist nur wirksam, wenn das Archiv zum Lesen geoffnet ist (zum Beispiel mit den Optionen --list oder --extract). --no-check-device uberpruft Geratenummern nicht, wenn inkrementelle Archive erstellt werden. --no-seek nimmt an, dass das Archiv nicht durchsuchbar ist. --occurrence[=N] verarbeitet nur jedes N-te Vorkommen jeder Datei im Archiv. Diese Option ist nur in Verbindung mit einem der Unterbefehle --delete, --diff, --extract oder --list gultig, und wenn eine Liste von Dateien entweder in der Befehlszeile oder mit der Option -T angegeben ist. Die Vorgabe fur N ist 1. --restrict schaltet die Verwendung von einigen potenziell schadlichen Optionen aus. --sparse-version=MAJOR[.MINOR] legt die Version des zu verwendenden Sparse-Formats fest. Diese Option impliziert --sparse. Zulassige Werte fur Argumente sind 0.0, 0.1 und 1.0. Detaillierte Erlauterungen zu den Sparse-Formaten finden Sie im GNU Tar Manual, Anhang D, >>Sparse Formats<<. Mit dem Anzeigeprogramm info konnen Sie es mit dem folgenden Befehl aufrufen: info tar 'Sparse Formats'. -S, --sparse verarbeitet Sparse-Dateien effizient. Einige Dateien im Dateisystem konnen Abschnitte enthalten, in die tatsachlich nie geschrieben wurde (oft sind es von Systemen wie DBM angelegte Datenbankdateien). Wenn diese Option angegeben ist, versucht tar vor dem Archivieren zu bestimmen, ob es sich um eine Sparse-Datei handelt. Sollte das der Fall sein, wird versucht, die Grosse des Archivs zu verringern, indem leere Teile der Datei nicht mit archiviert werden. Regeln beim Uberschreiben Diese Optionen regeln das Verhalten von tar beim Entpacken einer Datei uber eine vorhandene Kopie auf einem Datentrager. -k, --keep-old-files ersetzt existierende Dateien beim Entpacken nicht. --keep-newer-files ersetzt existierende Dateien nicht, die neuer als ihre Kopie im Archiv sind. --keep-directory-symlink ersetzt existierende Symlinks auf Verzeichnisse beim Entpacken nicht. --no-overwrite-dir behalt die Metadaten von existierenden Verzeichnissen. --one-top-level[=VERZ] entpackt alle Dateien in VERZ, oder wenn es ohne Argument angegeben wird, in ein Unterverzeichnis, das nach dem Basisnamen des Archivs benannt wird (ohne die Standard-Kompressionserweiterungen, die von --auto-compress erkannt werden konnen). --overwrite uberschreibt existierende Dateien beim Entpacken. --overwrite-dir uberschreibt Metadaten von existierenden Verzeichnissen beim Entpacken (Voreinstellung). --recursive-unlink loscht alle Dateien im Verzeichnis vor dem Entpacken rekursiv. --remove-files loscht Dateien vom Datentrager, nachdem sie zum Archiv hinzugefugt wurden. --skip-old-files ersetzt existierende Dateien beim Entpacken nicht, sie werden ohne Meldung ubersprungen. -U, --unlink-first loscht jede Datei, bevor sie beim Entpacken uberschrieben wird. -W, --verify uberpruft das Archiv nach dem Schreiben. Wahl des Ausgabe-Datenstroms --ignore-command-error ignoriert die Exit-Codes von Unterprozessen. --no-ignore-command-error behandelt Ruckgabewerte ungleich Null von Kindprozessen als Fehler (Voreinstellung). -O, --to-stdout entpackt Dateien in die Standardausgabe. --to-command=BEFEHL leitet die entpackten Dateien an BEFEHL weiter. Das Argument ist der Pfadname eines externen Programms, optional mit Befehlszeilenargumenten. Das Programm wird aufgerufen und der Inhalt der entpackten Datei in die Standardausgabe ubergeben. Zusatzliche Daten werden uber die folgenden Umgebungsvariablen ubergeben: TAR_FILETYPE Der Dateityp ist ein einzelner Buchstabe folgender Bedeutung: f Regulare Datei d Verzeichnis l Symbolischer Link h Hardlink b Blockorientiertes Gerat c Zeichenorientiertes Gerat Gegenwartig werden nur regulare Dateien unterstutzt. TAR_MODE Der Dateimodus als Oktalzahl. TAR_FILENAME Der Name der Datei. TAR_REALNAME Der Name der Datei, so wie sie im Archiv gespeichert ist. TAR_UNAME Name des Besitzers der Datei. TAR_GNAME Name der Gruppe des Besitzers der Datei. TAR_ATIME Zeit des letzten Zugriffs. Es ist eine Dezimalzahl, die die Sekunden seit Beginn der Unix-Zeitrechnung darstellt. Wenn das Archiv Zeitangaben mit Nanosekunden-Prazision enthalt, werden die Nanosekunden nach einem Dezimaltrenner an den Zeitstempel angehangt. TAR_MTIME Zeitpunkt der letzten Anderung. TAR_CTIME Zeitpunkt der letzten Statusanderung. TAR_SIZE Grosse der Datei. TAR_UID UID (Benutzerkennung) des Besitzers der Datei. TAR_GID GID (Gruppenkennung) des Besitzers der Datei. Zusatzlich enthalten die folgenden Variablen Informationen uber den Aktionsmodus von tar und das zu verarbeitende Archiv: TAR_VERSION Versionsnummer von GNU tar. TAR_ARCHIVE Der Name des Archivs, das von tar verarbeitet wird. TAR_BLOCKING_FACTOR Aktueller Block-Faktor, also die Anzahl der 512-Byte-Blocke in einem Datensatz. TAR_VOLUME Ordnungszahl des Datentragers, der von tar verarbeitet wird (wird gesetzt, wenn ein aus mehreren Datentragern bestehendes Archiv gelesen wird). TAR_FORMAT Format des verarbeiteten Archivs: gnu, oldgnu, posix, ustar oder v7. TAR_SUBCOMMAND Eine Kurzoption (mit vorangestelltem Minuszeichen), welche die von tar ausgefuhrte Aktion beschreibt. Umgang mit Dateiattributen --atime-preserve[=METHODE] erhalt Zugriffszeiten fur ausgegebene Dateien, entweder durch Wiederherstellen der Zeiten nach dem Lesen (METHODE=replace; Vorgabe) oder durch Nicht-Setzen der Zeiten (METHODE=system). --delay-directory-restore verzogert das Setzen der Anderungszeiten und Rechte der entpackten Verzeichnisse bis zum Ende des Entpackvorgangs. Verwenden Sie diese Option, wenn Sie aus einem Archiv entpacken, das eine unubliche Anordnung der Elemente aufweist. --group=NAME[:GID] erzwingt NAME als Gruppenname fur hinzugefugte Dateien. Wenn GID nicht angegeben ist, kann NAME entweder ein Benutzername oder eine numerische GID sein. In diesem Fall wird der fehlende Teil (GID oder Name) aus der aktuellen Gruppen-Datenbank des Rechners abgeleitet. Wenn dies zusammen mit --group-map=DATEI verwendet wird, wirkt es sich nur auf jene Dateien aus, deren Gruppe nicht in DATEI aufgelistet ist. --group-map=DATEI liest die Ubersetzung der Gruppenzuordnung aus DATEI. Leerzeilen werden dabei ignoriert. Kommentare werden mit einem #-Zeichen eingeleitet und erstrecken sich bis zum Ende der Zeile. Jede nicht-leere Zeile in DATEI definiert die Ubersetzung fur eine einzelne Gruppe. Sie muss aus zwei Feldern bestehen, die durch eine beliebige Anzahl Leerzeichen getrennt sind: ALTEGRUPPE NEUEGRUPPE[:NEUEGID] ALTEGRUPPE ist entweder ein gultiger Gruppenname oder eine GID, der ein + vorangestellt ist. Ausser wenn NEUEGID angegeben ist, muss NEUEGRUPPE auch entweder ein gultiger Gruppenname oder ein +GID sein. Anderenfalls mussen sowohl NEUEGRUPPE als auch NEUEGID nicht in der Gruppendatenbank des Systems enthalten sein. Daraufhin wird jede Eingabedatei mit der Besitzergruppe OLDGRP im Archiv mit der Besitzergruppe NEUEGRUPPE und der GID NEUEGID gespeichert. --mode=ANDERUNGEN erzwingt die (symbolischen) ANDERUNGEN des Modus fur hinzugefugte Dateien. --mtime=DATUM-ODER-DATEI setzt die mtime fur hinzugefugte Dateien. DATUM-ODER-DATEI ist entweder Datum/Zeit in einem beinahe willkurlichen Format oder der Name einer existierenden Datei. In letzterem Fall wird die mtime dieser Datei verwendet. -m, --touch entpackt nicht die Dateianderungszeit. --no-delay-directory-restore hebt die Auswirkung der Option --delay-directory-restore auf. --no-same-owner entpackt Dateien mit dem aufrufenden Benutzer als Besitzer (Voreinstellung fur normale Benutzer). --no-same-permissions wendet die umask des Benutzers an, wenn Dateirechte aus dem Archiv entpackt werden (Voreinstellung fur normale Benutzer). --numeric-owner verwendet immer Zahlen fur Benutzer-/Gruppennamen. --owner=NAME[:UID] erzwingt NAME als Besitzer der hinzugefugten Dateien. Wenn keine UID angegeben ist, kann NAME entweder ein Benutzername oder eine numerische UID sein. In diesem Fall wird der fehlende Teil (UID oder Name) aus der Benutzerdatenbank des aktuellen Rechners ermittelt. Wenn dies zusammen mit --owner-map=DATEI verwendet wird, wirkt es sich nur auf die Dateien aus, deren Eigentumer nicht in DATEI aufgelistet ist. --owner-map=DATEI liest die Eigentumerabbildungstabelle aus DATEI. Leere Zeilen werden ignoriert. Kommentare werden mit dem Zeichen # eingeleitet und gehen bis zum Zeilenende. Jede nicht leere Zeile in DATEI definiert eine Abbildung fur eine einzelne UID. Sie muss aus zwei Feldern bestehen, die mit einer beliebigen Anzahl von Leerraumzeichen getrennt werden: ALTERBENUTZER NEUERBENUTZER[:NEUE_UID] ALTERBENUTZER ist entweder ein gultiger Benutzername oder eine UID, der + vorangestellt ist. Ausser wenn NEUE_UID angegeben ist, muss NEUERBENUTZER auch ein gultiger Benutzername oder eine +UID sein. Anderenfalls mussen sowohl ALTERBENUTZER als auch NEUERBENUTZER nicht in der Benutzerdatenbank des Systems enthalten sein. Im Ergebnis wird jede Eingabedatei, deren Eigentumer ALTERBENUTZER ist, im Archiv mit dem Eigentumer NEUERBENUTZER und der UID NEUE_UID gespeichert. -p, --preserve-permissions, --same-permissions setzt die Zugriffsrechte der entpackten Dateien genauso, wie sie im Archiv existieren (Voreinstellung fur den Administrator). --same-owner versucht, Dateien mit denselben Besitzern zu entpacken, wie sie im Archiv existieren (Voreinstellung fur den Administrator). -s, --preserve-order, --same-order teilt tar mit, dass die Liste der Namen der zu verarbeitenden Dateien auf die gleiche Weise wie die Dateien im Archiv sortiert ist. --sort=REIHENFOLGE sortiert Verzeichniseintrage beim Erstellen eines Archivs anhand der angegebenen REIHENFOLGE, die none, name oder inode sein kann. Die Voreinstellung ist --sort=none, wobei Archivelemente in der gleichen Reihenfolge gespeichert werden, wie es das Betriebssystem vorgibt. Die Verwendung von --sort=name stellt sicher, dass die Anordnung der Elemente im erstellten Archiv einheitlich und reproduzierbar ist. Die Angabe von --sort=inode vermindert beim Erstellen des Archivs die Anzahl von Suchvorgangen auf dem Datentrager und kann so die Archivierung merklich beschleunigen. Diese Reihenfolge wird nur unterstutzt, wenn das zugrunde liegende System die erforderlichen Informationen bereitstellt. Erweiterte Dateiattribute --acls aktiviert die POSIX-ACL-Unterstutzung. --no-acls deaktiviert die POSIX-ACL-Unterstutzung. --selinux aktiviert die Unterstutzung fur SELinux-Kontext. --no-selinux deaktiviert die Unterstutzung fur SELinux-Kontext. --xattrs aktiviert die Unterstutzung fur erweiterte Attribute. --no-xattrs deaktiviert die Unterstutzung fur erweiterte Attribute. --xattrs-exclude=MUSTER gibt das Ausschlussmuster fur Xattr-Schlussel an. MUSTER ist ein Suchmuster, zum Beispiel schliesst --xattrs-exclude='user.*' nur Attribute aus dem Namensraum des Benutzers ein. --xattrs-include=MUSTER gibt das Einbeziehungsmuster fur Xattr-Schlussel an. MUSTER ist ein Suchmuster. Gerateauswahl und -wechsel -f, --file=ARCHIV verwendet Archivdatei oder Gerate-ARCHIV. Falls diese Option nicht angegeben ist, wird tar zuerst die Umgebungsvariable >>TAPE<< prufen. Falls diese gesetzt ist, wird ihr Wert als Archivname genutzt. Andernfalls wird tar die einkompilierte Vorgabe annehmen. Die Vorgabe kann entweder mit der Option --show-defaults oder am Ende der Ausgabe von tar --help eingesehen werden. Ein Archivname, der einen Doppelpunkt enthalt, bezeichnet eine Datei oder ein Gerat auf einem Rechner in der Ferne. Der Teil vor dem Doppelpunkt ist der Rechnername oder dessen IP-Adresse, der Teil danach ist der Pfad zur Datei oder zum Gerat, zum Beispiel: --file=remotehost:/dev/sr0 Ein optionaler Benutzername kann dem Rechnernamen vorangestellt werden, wobei ein @ dazwischengesetzt werden muss. In der Voreinstellung erfolgt der Zugriff auf den Rechner in der Ferne uber den Befehl rsh(1). Heutzutage ist es jedoch ublich, stattdessen ssh(1) zu verwenden. Sie erreichen dies mit der folgenden Befehlszeilenoption: --rsh-command=/usr/bin/ssh Auf der Maschine in der Ferne sollte der Befehl rmt(8) installiert sein. Falls deren Pfadname nicht auf die Vorgabe von tar passt, konnen sie den korrekten Pfadnamen mit der Option --rmt-command ubergeben. --force-local gibt an, dass die Archivdatei lokal ist, selbst wenn sie einen Doppelpunkt enthalt. -F, --info-script=BEFEHL, --new-volume-script=BEFEHL fuhrt BEFEHL am Ende jedes Bandes aus (impliziert -M). Der Befehl kann Argumente enthalten. Beim Start wird die Umgebung von tar und die zusatzlichen folgenden Variablen geerbt: TAR_VERSION Versionsnummer von GNU tar. TAR_ARCHIVE Der Name des Archivs, das von tar verarbeitet wird. TAR_BLOCKING_FACTOR Aktueller Block-Faktor, also die Anzahl der 512-Byte-Blocke in einem Datensatz. TAR_VOLUME Ordnungszahl des Datentragers, der von tar verarbeitet wird (wird gesetzt, wenn ein aus mehreren Datentragern bestehendes Archiv gelesen wird). TAR_FORMAT Format des verarbeiteten Archivs: gnu, oldgnu, posix, ustar oder v7. TAR_SUBCOMMAND Eine Kurzoption (mit vorangestelltem Minuszeichen), welche die von tar ausgefuhrte Aktion beschreibt. TAR_FD Ein Dateideskriptor, der zur Ubergabe des neuen Datentragernamens an tar verwendet werden kann. Falls das Info-Skript fehlschlagt, beendet sich tar. Anderenfalls beginnt es das Schreiben des nachsten Datentragers. -L, --tape-length=N Das Band muss nach dem Schreiben von Nx1024 Bytes gewechselt werden. Falls auf N eine Grossen-Endung folgt (siehe den Unterabschnitt Grossen-Endungen unten), gibt die Endung den multiplikativen Faktor an, der statt 1024 verwendet werden soll. Diese Option impliziert -M. -M, --multi-volume erstellt datentrageruberspannende Archive, listet diese auf oder liest sie aus. --rmt-command=BEFEHL verwendet BEFEHL anstelle von rmt beim Zugriff auf Archive in der Ferne. Siehe die obige Beschreibung der Option -f. --rsh-command=BEFEHL verwendet BEFEHL anstelle von rsh beim Zugriff auf Archive in der Ferne. Siehe die obige Beschreibung der Option -f. --volno-file=DATEI Wird diese Option zusammen mit --multi-volume verwendet, wird tar in DATEI nachverfolgen, an welchem Datentrager eines datentrageruberspannenden Archivs es gerade arbeitet. Blockeinteilung von Geraten -b, --blocking-factor=BLOCKE setzt die Datensatzgrosse auf BLOCKEx512 Bytes. -B, --read-full-records Beim Auflisten oder Auslesen werden unvollstandige Eingabedatensatze hinter der Markierung fur das Dateiende akzeptiert. -i, --ignore-zeros ignoriert genullte Blocke im Archiv. Normalerweise bedeuten zwei aufeinanderfolgende 512-Blocke, die mit Nullen gefullt sind, EOF (Ende der Datei) und tar beendet das Lesen, nachdem es sie angetroffen hat. Diese Option weist es an, weiter zu lesen und ist nutzlich, falls Archive mit der Option -A erstellt wurden. --record-size=ZAHL setzt die Datensatzgrosse. ZAHL ist die Anzahl der Bytes pro Datensatz. Sie muss ein Vielfaches von 512 sein. Sie kann eine Grossenendung angehangt bekommen, z.B. --record-size=10K fur 10 Kilobyte. Siehe den Unterabschnitt Grossenendungen fur eine Liste der gultigen Endungen. Auswahl des Archivformats -H, --format=FORMAT erstellt ein Archiv im angegebenen Format. FORMAT ist eines der folgenden: gnu GNU Tar 1.13.x-Format oldgnu GNU-Format entsprechend Tar <= 1.12 pax, posix POSIX 1003.1-2001-(Pax)-Format ustar POSIX 1003.1-1988-(Ustar)-Format v7 Altes V7-Tar-Format --old-archive, --portability ist gleichbedeutend mit --format=v7. --pax-option=Schlusselwort[[:]=Wert][,Schlusselwort[[:]=Wert]] steuert beim Erstellen von PAX-Archiven PAX-Schlusselworter. Diese Option entspricht der Option -o des pax(1)-Hilfswerkzeugs. --posix Gleichbedeutend mit --format=posix. -V, --label=TEXT erstellt ein Archiv mit dem Datentragernamen TEXT. Beim Auflisten oder Entpacken wird TEXT als Suchmuster fur den Datentragernamen verwendet. Kompressionsoptionen -a, --auto-compress verwendet die Archiv-Endung, um das Kompressionsprogramm herauszufinden. -I, --use-compress-program=BEFEHL filtert Daten durch BEFEHL. Er muss die Option -d zur Dekompression akzeptieren. Das Argument kann Befehlszeilenoptionen enthalten. -j, --bzip2 filtert das Archiv mit bzip2(1). -J, --xz filtert das Archiv mit xz(1). --lzip filtert das Archiv mit lzip(1). --lzma filtert das Archiv mit lzma(1). --lzop filtert das Archiv mit lzop(1). --no-auto-compress verwendet nicht die Archiv-Endung, um das Kompressionsprogramm herauszufinden. -z, --gzip, --gunzip, --ungzip filtert das Archiv mit gzip(1). -Z, --compress, --uncompress filtert das Archiv mit compress(1). --zstd filtert das Archiv mit zstd(1). Auswahl lokaler Dateien --add-file=DATEI fugt DATEI zum Archiv hinzu (sinnvoll, wenn der Name mit einem Minuszeichen beginnt). --backup[=CONTROL] erstellt Sicherungskopien vor dem Loschen. Falls das Argument CONTROL angegeben ist, steuert es die Sicherung. Zulassige Werte sind: none, off erstellt niemals Sicherungskopien. t, numbered erstellt nummerierte Sicherheitskopien. nil, existing nummeriert, wenn bereits nummerierte Sicherheitskopien existieren, sonst einfach. never, simple erstellt immer einfache Sicherheitskopien. Falls CONTROL nicht angegeben wurde, wird der Wert der Umgebungsvariable VERSION_CONTROL genommen. Falls sie nicht gesetzt ist, wird existing angenommen. -C, --directory=VERZ wechselt in VERZ, bevor irgendwelche Operationen ausgefuhrt werden. Diese Option ist positionsgebunden, das heisst, sie beeinflusst alle Optionen, die darauf folgen. --exclude=MUSTER schliesst Dateien aus, die dem MUSTER entsprechen, das ein Platzhalter-Muster im glob(3)-Stil ist. --exclude-backups schliesst Sicherungs- und Sperrdateien aus. --exclude-caches schliesst den Inhalt von Verzeichnissen aus, die eine Datei namens CACHEDIR.TAG enthalten, mit Ausnahme der Markierungsdatei selbst. --exclude-caches-all schliesst den Inhalt von Verzeichnissen aus, die eine Datei namens CACHEDIR.TAG enthalten, einschliesslich der Markierungsdatei selbst. --exclude-caches-under schliesst alles unterhalb von Verzeichnissen aus, die eine Datei namens CACHEDIR.TAG enthalten. --exclude-ignore=DATEI sieht vor der Ausgabe eines Verzeichnisses nach, ob sie DATEI enthalt. Ist dies der Fall, werden aus dieser Datei ausschliessende Muster gelesen. Die Muster betreffen nur das Verzeichnis selbst. --exclude-ignore-recursive=DATEI ist gleichbedeutend mit --exclude-ignore, ausser dass die Muster aus DATEI im Verzeichnis selbst und auch allen Unterverzeichnissen gesucht wird. --exclude-tag=DATEI schliesst den Inhalt von Verzeichnissen aus, welche DATEI enthalten, ausser DATEI selbst. --exclude-tag-all=DATEI schliesst Verzeichnisse aus, die die DATEI enthalten. --exclude-tag-under=DATEI schliesst alles unterhalb des Verzeichnisses aus, das DATEI enthalt. --exclude-vcs schliesst unter Versionsverwaltung stehende Verzeichnisse aus. --exclude-vcs-ignores schliesst Dateien aus, die auf die Muster von den aus Versionsverwaltungssystemen bekannten >>ignore<<-Dateien passen. Die Dateien .cvsignore, .gitignore, .bzrignore und .hgignore werden unterstutzt. -h, --dereference folgt symbolischen Links, archiviert die Dateien und gibt sie aus, auf die sie zeigen. --hard-dereference folgt harten Links, archiviert die Dateien und gibt sie aus, auf die sie sich beziehen. -K, --starting-file=ELEMENT beginnt beim angegebenen Element im Archiv. --newer-mtime=ZEITSTEMPEL arbeitet mit Dateien, deren Daten nach dem Datum geandert wurden. Falls Datum mit einem / oder . beginnt, wird es als Dateiname genommen. Die Mtime dieser Datei wird als Datum benutzt. --no-null deaktiviert den Effekt der vorherigen Option --null. --no-recursion verhindert das automatische Hinabsteigen in Verzeichnisstrukturen. --no-unquote entfernt keine Maskierungen von Eingabedateien oder Elementnamen. --no-verbatim-files-from betrachtet jede aus dieser Datei gelesene Zeile so, als sei sie auf der Befehlszeile angegeben worden. Das heisst, fuhrende oder anhangende Leerzeichen werden entfernt, und falls die Zeichenkette mit einem Bindestrich beginnt, wird sie als tar-Befehlszeilenoption angesehen. Dies ist das Standardverhalten. Die Option --no-verbatim-files-from wird als Moglichkeit zur Wiederherstellung nach der Option --verbatim-files-from bereitgestellt. Diese Option ist positionsgebunden: Sie betrifft alle --files-from-Optionen, die danach vorkommen, bis entweder die Option --verbatim-files-from oder das Zeilenende erreicht werden. Dies ist in der Option --no-null impliziert. --null weist nachfolgende -T-Optionen an, null-terminierte Namen wortgetreu zu lesen (schaltet die Sonderbehandlung von Namen aus, die mit einem Bindestrich beginnen). Siehe auch --verbatim-files-from. -N, --newer=ZEITSTEMPEL, --after-date=ZEITSTEMPEL speichert nur Dateien, die neuer als DATUM sind. Falls DATUM mit einem / oder . beginnt, wird es als Dateiname genommen. Die Mtime dieser Datei wird als Datum benutzt. --one-file-system bleibt im lokalen Dateisystem, wenn ein Archiv erstellt wird. -P, --absolute-names entfernt fuhrende >>/<< von Dateinamen beim Erstellen von Archiven nicht. --recursion steigt in Verzeichnisstrukturen hinab (Voreinstellung). --suffix=ZEICHENKETTE legt eine Sicherheitskopie vor dem Loschen an, wobei die ubliche Endung uberschrieben wird (>>~<<, sofern nicht von der Umgebungsvariablen SIMPLE_BACKUP_SUFFIX uberschrieben). -T, --files-from=DATEI Ermittelt die auszulesenden oder zu erstellenden Namen aus DATEI. Falls nicht anders angegeben, muss DATEI eine durch ASCII LF getrennte Liste von Namen enthalten (d.h. ein Name pro Zeile). Die gelesenen Namen werden genauso wie Befehlszeilenargumente behandelt. Bei ihnen werden Maskierungszeichen entfernt und Worter getrennt und jede Zeichenkette, die mit einem - beginnt, wird als Befehlszeilenoption fur tar behandelt. Falls dieses Verhalten nicht gewunscht ist, kann es mit der Option --verbatim-files-from ausgeschaltet werden. Die Option --null weist tar an, dass die Namen in DATEI durch das ASCII-NUL-Zeichen statt durch LF getrennt sind. Dies ist hilfreich, falls die Liste mittels der Option -print0 von find(1) erstellt wurde. --unquote entfernt Maskierungszeichen fur Dateien oder Elemente (Vorgabe). --verbatim-files-from behandelt jede Zeile, die aus einer Dateiliste erhalten wurde, als Dateiname, selbst wenn sie mit einem Bindestrich beginnt. Dateilisten werden mit der Option --files-from (-T) ubergeben. Das Vorgabeverhalten ist, Namen in der Liste so zu handhaben, als ob sie in der Befehlszeile ubergeben worden waren, das heisst Namen, die mit einem Bindestrich beginnen, werden als Optionen von tar behandelt. Die Option --verbatim-files-from deaktiviert dieses Verhalten. Diese Option betrifft alle Optionen --files-from, die danach in der Befehlszeile auftreten. Sein Effekt wird mit der Option --no-verbatim-files-from ruckgangig gemacht. Diese Option impliziert die Option --null. Siehe auch --add-file. -X, --exclude-from=DATEI schliesst Dateien aus, die auf irgendein Muster in DATEI passen. Umwandlung von Dateinamen --strip-components=ANZAHL schneidet ANZAHL fuhrende Komponenten von Dateinamen wahrend des Entpackens ab. --transform=AUSDRUCK, --xform=AUSDRUCK verwendet den sed-AUSDRUCK zum Ersetzen mit, um Dateinamen zu andern. Optionen fur Ubereinstimmungen von Dateinamen Diese Optionen sind sowohl in Einbeziehungs- als auch in Ausschlussmustern wirksam. --anchored Muster passen auf den Anfang des Dateinamens. --ignore-case ignoriert Gross- oder Kleinschreibung. --no-anchored Muster passen nach jedem / (Vorgabe fur Ausschluss). --no-ignore-case Musterprufung berucksichtigt Gross-/Kleinschreibung (Vorgabe). --no-wildcards Zeichenkettenprufung erfolgt literal. --no-wildcards-match-slash Metazeichen passen nicht auf /. --wildcards Metazeichen verwenden (Vorgabe fur Ausschluss). --wildcards-match-slash Metazeichen passen auf / (Vorgabe fur Ausschluss). Informative Ausgabe --checkpoint[=N] gibt Fortschrittsmeldungen bei jedem Nten Datensatz aus (Voreinstellung 10). --checkpoint-action=AKTION fuhrt AKTION bei jedem Kontrollpunkt aus. --clamp-mtime setzt nur dann die Zeit, wenn diese neuer als die mit --mtime angegebene Zeit ist. --full-time gibt die Dateizeit in der vollen Auflosung aus. --index-file=DATEI lenkt die ausfuhrliche Ausgabe in DATEI um. -l, --check-links gibt eine Meldung aus, falls nicht alle Links ausgegeben wurden. --no-quote-chars=ZEICHENKETTE schaltet das Maskieren von Zeichen aus ZEICHENKETTE aus. --quote-chars=ZEICHENKETTE maskiert Zeichen aus ZEICHENKETTE zusatzlich. --quoting-style=STIL setzt den Maskierungsstil fur Datei- und Elementnamen. Gultige Werte fur STIL sind literal, shell, shell-always, c, c-maybe, escape, locale und clocale. -R, --block-number zeigt die Blocknummer innerhalb des Archivs mit jeder Meldung an. --show-omitted-dirs zeigt beim Auflisten oder Entpacken jedes Verzeichnis an, das nicht auf die Suchkriterien passt. --show-transformed-names, --show-stored-names zeigt Datei- oder Archivnamen nach der Umwandlung mit den Optionen --strip und --transform an. --totals[=SIGNAL] Die Gesamtzahl an Bytes nach dem Verarbeiten des Archivs ausgeben, mit einem Argument - die Gesamtzahl an Bytes wird ausgegeben, wenn dieses SIGNAL geliefert wird. Erlaubte Signale sind: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 und SIGUSR2. Namen ohne das Prafix SIG werden ebenfalls akzeptiert. --utc gibt Dateianderungszeiten in UTC aus. -v, --verbose ausfuhrlich die verarbeiteten Dateien auffuhren. Jedes Vorkommen dieser Option auf der Befehlszeile erhoht die Ausfuhrlichkeitsstufe um eins. Die maximale Ausfuhrlichkeitsstufe ist 3. Fur eine detailliertere Besprechung, wie die verschiedenen Ausfuhrlichkeitsstufen die Ausgabe von tar beeinflussen, lesen Sie bitte das GNU Tar Manual, Unterabschnitt 2.5.1 >>The '--verbose' Option<<. --warning=SCHLUSSELWORT aktiviert oder deaktiviert durch SCHLUSSELWORT identifizierte Warnungsmeldungen. Die Meldungen werden unterdruckt, falls no- vor das SCHLUSSELWORT gesetzt wird, ansonsten sind sie aktiviert. Mehrere --warning-Optionen werden zusammengefasst. Schlusselworter, die die allgemeinen Ablaufe von tar steuern: all aktiviert samtliche Warnmeldungen. Dies ist die Voreinstellung. none deaktiviert samtliche Warnmeldungen. filename-with-nuls "%s: gelesener Dateiname enthalt das Zeichen Nul." alone-zero-block "Ein einsamer Nullblock bei %s" Fur tar --create anwendbare Schlusselworter: cachedir "%s: Enthalt eine Zwischenspeicherverzeichnismarkierung %s: %s" file-shrank "%s: Datei schrumpfte um %s bytes, wird mit Nullen aufgefullt." xdev "%s: Datei ist auf einem anderen Dateisystem; nicht ausgegeben." file-ignored "%s: Unbekannter Dateityp; Datei wird ignoriert" "%s: Socket wird ignoriert" "%s: Door ignoriert" file-unchanged "%s: Datei ist unverandert, nicht ausgegeben." ignore-archive "%s: Archiv kann sich nicht selbst enthalten; nicht gesichert." file-removed "%s: Die Datei wurde entfernt, bevor sie gelesen werden konnte." file-changed "%s: Die Datei wurde wahrend des Lesens geandert." failed-read unterdruckt Warnungen uber nicht lesbare Dateien oder Verzeichnisse. Dieses Schlusselwort gilt nur, falls es zusammen mit der Option --ignore-failed-read verwandt wird. Fur tar --extract verfugbare Schlusselworter: existing-file "%s: Existierende Datei wird ubersprungen." timestamp "%s: Unplausibler alter Zeitstempel %s." "%s: Zeitstempel %s ist %s s in der Zukunft." contiguous-cast "Entpacke fortlaufende Dateien als regulare Dateien" symlink-cast "versucht, symbolische Links als harte Links zu entpacken." unknown-cast "%s: Unbekannter Dateityp >>%c<<, wird als normale Datei entpackt." ignore-newer "Aktuelle %s ist neuer oder gleichalt." unknown-keyword "Unbekanntes erweitertes Kopfzeilenschlusselwort >>%s<< wird ignoriert." decompress-program steuert die ausfuhrliche Beschreibung von Fehlern, die beim Versuch auftreten, alternative Entpackprogramme zu verwenden. Diese Warnung ist standardmassig deaktiviert (ausser --verbose wird verwendet). Ein typisches Beispiel dafur, was Sie mit der Verwendung dieser Warnungen erhalten konnten: $ tar --warning=decompress-program -x -f archive.Z tar (Kind): Kann compress nicht ausfuhren: Datei oder Verzeichnis nicht gefunden tar (Kind): Versuche Gzip Dies bedeutet, dass tar zuerst versuchte, archive.Z mittels compress zu entpacken und als das fehlschlug, auf gzip umstellte. record-size "Datensatzgrosse = %lu Blocke" Schlusselworter, die die schrittweise Entpackung steuern: rename-directory "%s: Verzeichnis wurde aus %s umbenannt" "%s: Verzeichnis wurde umbenannt" new-directory "%s: Verzeichnis ist neu" xdev "%s: Verzeichnis liegt auf einem anderen Dateisystem: entferne nicht." bad-dumpdir "Fehlgeformtes Verzeichnis fur Dump: ,,X" nie benutzt" -w, --interactive, --confirmation bittet vor jeder Aktion um eine Bestatigung. Kompatibilitatsoptionen -o Beim Erstellen identisch zu --old-archive. Beim Auslesen identisch zu --no-same-owner. Grossenendungen Endung Einheiten Byte-Aquivalent b Blocke GROSSE x 512 B Kilobyte GROSSE x 1024 c Byte GROSSE G Gigabyte GROSSE x 1024^3 K Kilobyte GROSSE x 1024 k Kilobyte GROSSE x 1024 M Megabyte GROSSE x 1024^2 P Petabyte GROSSE x 1024^5 T Terabyte GROSSE x 1024^4 w Worter GROSSE x 2 RUCKGABEWERT Der Exit-Code von tar zeigt an, ob es die angefragte Aktion erfolgreich durchfuhren konnte und falls nicht, welche Art von Fehlern aufgetreten ist. 0 Erfolgreich beendet. 1 Einige Dateien unterscheiden sich. Falls tar mit der Befehlszeilenoption --compare (--diff, -d) aufgerufen wurde, bedeutet dies, dass einige Dateien in dem Archiv sich von ihren Gegenstucken auf der Platte unterscheiden. Falls tar eine der Optionen --create, --append oder --update ubergeben wurde, bedeutet dieser Exit-Code, dass sich einige Dateien wahrend der Archivierung geandert haben und daher das Archiv nicht die genaue Kopie der Dateimenge enthalt. 2 Fataler Fehler. Dies bedeutet, dass ein fataler, nicht korrigierbarer Fehler auftrat. Falls ein Unterprozess, der von tar aufgerufen wurde, mit einem von Null verschiedenen Exit-Code beendet wurde, beendet sich tar auch mit diesem Code. Dies kann beispielsweise passieren, falls eine Komprimierungsoption (z.B. -z) verwendet wurde und das externe Komprimierungsprogramm fehlschlug. Ein weiteres Beispiel ist ein Fehlschlag von rmt wahrend der Datensicherung auf ein Gerat in der Ferne. SIEHE AUCH bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1). Vollstandiges Handbuch von tar: Fuhren Sie info tar aus oder verwenden Sie den Info-Modus von emacs(1) zum Lesen. Online-Versionen der Dokumentation zu GNU tar in verschiedenen Formaten finden Sie hier: https://www.gnu.org/software/tar/manual FEHLERBERICHTE Melden Sie Fehler (auf Englisch) an . COPYRIGHT Copyright (C) 2023 Free Software Foundation, Inc. Lizenz GPLv3+: GNU GPL Version 3 oder neuer . Dies ist freie Software: Sie konnen sie verandern und weitergeben. Es gibt KEINE GARANTIE, soweit gesetzlich zulassig. UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Dr. Tobias Quathamer , Mario Blattermann und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . TAR 11. Juli 2022 TAR(1)