- tar
-
tar
Screenshot der Hilfeanzeige von GNU tarDateiendung: .tar
MIME-Type: application/x-tar
Art: Datenarchivierung Tar ist der Name eines im Unix-Umfeld sehr geläufigen Archivierungsprogramms. Außerdem wird so auch das Dateiformat bezeichnet, das von diesem Programm verwendet wird.
Der Name wurde aus tape archiver (Bandarchivierer) gebildet, da mit dem Programm ursprünglich Daten auf Bandlaufwerken gesichert wurden. Gleichzeitig ist tar auch das englische Wort für Teer (mit dem Programm werden Dateien unkomprimiert zu einer Datei „zusammengeklebt“).
Tar bietet die Möglichkeit, Dateien sequenziell in eine einzige Datei zu schreiben bzw. Dateien aus selbiger wieder herzustellen. Die entstehende Datei trägt die Endung .tar und wird im Englischen auch als Tarball (dt. Teerklumpen oder Teerkugel) bezeichnet.
Der MIME-Typ für tar-Dateien ist application/x-tar.
Inhaltsverzeichnis
Komprimierung
Der wahlfreie Zugriff auf einzelne Dateien ist bei tar nicht möglich, da die Archivdateien kein Verzeichnis haben, das die Datei-Offsets zum schnellen Zugriff vorhält, wie es etwa bei Zip der Fall ist (dies bedeutet nicht, dass nicht auch einzelne Dateien aus einem Archiv entpackt werden können). Der Verzicht auf diese zusätzliche Struktur ermöglicht aber auch das einfache Vergrößern von Archiven und vor allem auch das Extrahieren von Dateien aus unvollständigen oder defekten Archiven.
Heute werden tar-Archive häufiger in tar-Dateien gefunden als auf Bändern. Diese Archiv-Dateien sind meist komprimiert, um ihre Größe zu reduzieren. Dazu kommen üblicherweise Unix-typische Datenkompressionsprogramme wie compress, gzip, bzip2, xz oder lzma zum Einsatz. Der Ansatz, erst alle Dateien unkomprimiert aneinanderzuhängen, um sie dann zu komprimieren, wird als solide Kompression bezeichnet und mittlerweile auch bei anderen Archivformaten wie etwa RAR oder 7-Zip genutzt. In Abhängigkeit vom verwendeten Kompressionsprogramm lauten die Dateiendungen eines Tarballs üblicherweise .tar.Z (compress), .tar.gz oder kurz .tgz (gzip), .tar.bz2 oder .tbz2 oder .tbz (bzip2) bzw. .tar.xz oder .txz (xz), oder tar.lzma (lzma).
Wenn keine solide Kompression gewünscht ist, können auch die einzelnen Dateien zunächst komprimiert und anschließend in den Tarball eingegliedert werden. Dadurch ist es weiterhin möglich, unvollständige Einzelteile eines Tar-Archivs zu entpacken, falls ein Algorithmus für solide Kompression gewählt wurde, der ein Wiederaufsetzen nach einem Defekten Block nicht beherrscht. Die Nachteile (begrenzte Dateigröße durch den notwendigen temporären Platz für die Kompression einzelner Dateien, bzw. völliges Versagen bei sich während der Archivierung ändernder Dateien) überwiegen jedoch, sodass dieser Ansatz in der Regel nicht gewählt wird: Denn man muss beim Entpacken wissen, ob und auf welche Weise die Einzeldateien komprimiert wurden, da es anhand der Dateiendung nicht ersichtlich ist; wird das Archiv aber normal entpackt, meldet Tar keinen Fehler, sondern entpackt alle Dateien in weiterhin komprimierter Form. Zudem ist die Kompressionsrate normalerweise geringer als bei solider Kompression. Hinzu kommt, dass sich nur ein geringer Geschwindigkeitsvorteil beim Entpacken einzelner Dateien ergibt, da das Archiv hierzu ohnehin sequentiell durchsucht werden muss.
Probleme, Alternativen
Das tar-Format erscheint 1979 in einem Update für UNIX Version 7, ustar und pax sind im POSIX-Standard spezifiziert. Das unter Linux gebräuchliche GNU tar entspricht nicht ganz dem POSIX-Standard. Insbesondere die oft fehlende Fähigkeit, Zugriffskontrolllisten zu speichern, machen tar und GNU tar für manche Nutzer zu nur eingeschränkt brauchbaren Datensicherungsprogrammen. Die bei manchen Implementierungen unzureichende Unterstützung von Sparse-Dateien kann zudem beim Wiedereinspielen eines Archivs zu Problemen führen. star oder bsdtar, die diese Nachteile zu vermeiden versuchen.
Ein weiterer, systembedingter Nachteil liegt in der Art und Weise der Kompression. Solide Kompression bedingt nämlich, dass der Verlust eines einzigen Blocks den Verlust des gesamten restlichen Bandarchivs zur Folge haben kann, falls das Kompressionsprogram nach diesem Punkt nicht mehr synchronisieren kann. Auf diesem Gebiet gibt es bisher Versuche wie afio, das dateiweise komprimiert aber auf einer privaten Variante des durch POSIX inzwischen als veraltet deklariertem cpio Formats aufsetzt, und bestimmte blockweise komprimierende Algorithmen, zu denen bis zu einem gewissen Grad bzip2 bereits zählt.
Ein Unix-Kommando, welches in seinen Funktionen tar sehr ähnelt, ist cpio. Der POSIX-Standard pax gibt vor, die Kommandos tar und cpio zu vereinen und ist ein Ergebnis der sogenannten Tar-Wars die um das Jahr 1992 geführt wurden.[1] Das beliebteste Programm zum Archivieren von Dateien unter UNIX ist unabhängig von dieser Standardisierung weiterhin tar.
Einige Beispielaufrufe
Archive mit Inhalt von /etc und /home erstellen:
tar cvf test.tar /etc/ /home/ tar cvf - /etc /home | gzip > test.tar.gz tar czvf test.tar.gz /etc/ /home/ # *GNU tar* Kurzform tar -czvf test.tar.gz /etc/ /home/ # *GNU tar* Alternative
Archive entpacken:
tar xvf test.tar gunzip < test.tar.gz | tar xvf - tar xzvf test.tar.gz # *GNU tar* Kurzform tar -xzvf test.tar.gz # *GNU tar* Alternative
Archivinhalt ansehen:
tar tvf test.tar gunzip < test.tar.gz | tar tf - tar tzvf test.tar.gz # *GNU tar* Kurzform tar -tzvf test.tar.gz # *GNU tar* Kurzform
Die Schreibweise der Kommandos ohne führendes Minus ist dabei die kompatible UNIX-Syntax und sollte bevorzugt verwendet werden.
tar und Windows
Mit dem Betriebssystem Windows können die mit tar gepackten Dateien nicht direkt entpackt bzw. geöffnet werden. Dazu ist ein zusätzliches Programm notwendig. Die folgenden Verweise helfen auf der Suche nach diesem Zusatzprogramm weiter: 7-Zip, TUGZip oder IZArc. Aber auch andere gängige Archivprogramme können tar-Archive zumindest öffnen.
Einzelnachweise
Weblinks
Kategorien:- Datensicherungssoftware
- Freie Sicherheitssoftware
- Packprogramm
- Unix-Software
- Datenformat
- Linux-Software
Wikimedia Foundation.