Cookies für Statistik und Werbung
Wir setzen Cookies für Statistik und Werbung ein, beides geht an Google. Wenn du ablehnst, ändert sich für dich sichtbar nichts.Zur Datenschutzseite
TAR
Bündelt Dateien, ohne sie zu komprimieren. Der Verpackungsschritt unter Unix, meist zusammen mit GZ.
TAR
TAR ist ein Behälter: eine Hülle für Ströme, die etwas anderes kodiert hat. Eingesetzt wird es für die Archivierung und den Austausch zwischen Programmen.
Die Endung lautet .tar, der volle Name Tape Archive. Beides sagt weniger aus als das, was die Datei halten kann — und davon handelt der Rest dieser Seite.
Es geht auf 1979 zurück. Die Spezifikation ist POSIX.1-2001 ustar.
Einem Format, das so lange lesbar geblieben ist, kann man etwas anvertrauen, das man in zehn Jahren wiederhaben will.
Sie ist vollständig veröffentlicht, das Format lässt sich also aus dem Dokument umsetzen statt durch Nachsehen. Deshalb taucht es in so vielen Programmen auf, und deshalb gehen Dateien von vor zwanzig Jahren heute noch auf. Veröffentlicht heißt allerdings nicht lizenzfrei: Wo ein Format einen Codec einpackt, ist die Patentfrage eine eigene, die der Standard nicht mitbeantwortet.
TAR speichert seinen Inhalt exakt. Erneutes Speichern ändert nichts, es lässt sich also beliebig oft öffnen, bearbeiten und wieder ablegen, ohne dass sich Schaden ansammelt — genau das macht es zu einem Arbeitsformat und nicht zu einem Ausgabeformat.
TAR speichert ein Verzeichnis: Namen, Ordner und die Struktur dazwischen. Deshalb kann es im Mailanhang für einen Ordner einspringen.
TAR bringt eine Prüfsumme, mit der eine beschädigte Datei auffällt statt stillschweigend falsch gelesen zu werden mit.
Reparieren tut eine Prüfsumme nichts. Sie sagt dir, dass die Datei kaputt ist — das ist der Unterschied zwischen jetzt davon erfahren und es von dem erfahren, dem du sie geschickt hast.
tar, 7-Zip und Keka lesen es, und die meisten Programme derselben Art ebenfalls.
Wenn eine Datei nicht aufgeht, liegt es selten am Format — häufiger daran, dass das Programm älter ist als das Format. Die Umwandlung in etwas Älteres ist der verlässliche Weg daran vorbei, und dafür gibt es den Rest dieser Website.
Kein Browser liest es.
Das ist der häufigste Grund, es umzuwandeln: nicht dass das Format schlecht wäre, sondern dass die Stelle, an der die Datei erscheinen soll, es nicht lesen kann.
TAR ist zum Öffnen und Ändern gedacht. Behalte die Datei in diesem Format, solange die Arbeit läuft, und exportiere daraus, wann immer eine fertige Fassung gebraucht wird.
Die wiederkehrenden Klagen: die Dateien sind groß für das, was drinsteht.
Nichts davon ist ein Grund, das Format zu meiden. Es sind die Dinge, die man kennen sollte, bevor eines davon einen überrascht — das ist eine andere und eine nützlichere Behauptung.
TAR bündelt Dateien in eine einzige Datei. Kleiner macht es sie nicht. Der Name steht für Tape Archive, entworfen 1979, um einen Verzeichnisbaum in einem durchgehenden Strom auf ein Magnetband zu schreiben — Kompression war dabei die Aufgabe eines anderen Programms, oft des Bandlaufwerks selbst.
Fast jede verwirrende Eigenschaft von TAR folgt daraus. Eine .tar-Datei eines Ordners ist minimal größer als der Ordner, weil vor jeder Datei ein Kopf steht und alles auf eine feste Blockgröße aufgefüllt wird. Wer eine kleinere Datei erwartet hat, hat nichts falsch gemacht — nur das Werkzeug benutzt, das bündelt, nicht das, das schrumpft.
Weil zwei getrennte Programme gelaufen sind. archiv.tar.gz wurde von tar gebündelt und die entstandene Einzeldatei danach von gzip komprimiert. .tar.bz2 nutzte bzip2, .tar.xz nutzte xz, .tar.zst nutzte zstd. Die Kette liest sich von rechts nach links: erst die Kompression entfernen, dann das Bündel öffnen.
Die Kurzformen .tgz und .txz bedeuten dasselbe und entstanden, weil manche Dateisysteme früher mit mehr als einem Punkt im Namen Probleme hatten. Dass hier mehrere kleine Werkzeuge je eine Aufgabe erledigen, ist Absicht und nicht Zufall — genau das hat TAR die Bandlaufwerke überleben lassen, für die es geschrieben wurde.
Diese Reihenfolge ist der Grund, warum .tar.gz auf demselben Inhalt oft kleiner ausfällt als ZIP. ZIP komprimiert jede Datei einzeln, tausend ähnliche Textdateien werden also jede für sich zusammengepresst. Tar-dann-gzip liefert dem Komprimierer stattdessen einen einzigen durchgehenden Strom und findet dabei Wiederholungen, die über Dateigrenzen hinweggehen.
Bei Quellcode, Protokolldateien oder vielen ähnlichen kleinen Dateien ist der Unterschied erheblich. Bei einem Ordner voller Fotografien ist er praktisch null, weil JPEGs bereits komprimiert sind und es keine dateiübergreifende Wiederholung zu finden gibt. Der Vorteil ist real und an eine bestimmte Art von Inhalt gebunden.
Genau dieser durchgehende Strom macht es langsam, eine einzelne Datei aus einer großen .tar.gz-Datei zu ziehen. Es gibt kein Inhaltsverzeichnis, und wegen der Kompression lassen sich Byte-Positionen nicht im Voraus berechnen — die einzige Möglichkeit, an eine Datei nahe dem Ende zu kommen, ist alles davor zu entpacken.
ZIP hat den umgekehrten Kompromiss gewählt. Sein Inhaltsverzeichnis sitzt am Dateiende, und jede Datei ist unabhängig komprimiert, sodass sich einzelne Elemente sofort herausziehen lassen. Das ist der ganze Vergleich: TAR für Archive, die von Anfang an gelesen werden, ZIP für Archive, in die man punktuell hineingreift.
Alle Umwandlungen zwischen zip, 7z, tar, gz, bz2 und xz laufen bei uns nicht im Browser, sondern auf einem Server, den wir betreiben — die Datei geht dorthin, wird umgepackt und ist danach sofort wieder gelöscht. Die Kappe liegt entsprechend bei 25 statt 100 Megabyte pro Datei, und ein entpacktes Archiv über 2 Gigabyte wird von vornherein abgelehnt, damit ein bösartig verschachteltes Archiv den Container nicht sprengt.
Die Dateien selbst kommen dabei byte-identisch aus dem neuen Archiv heraus. Was nicht übersteht, ist alles, was der Behälter über die Dateien wusste statt in ihnen zu stehen — ein Passwort etwa, und bei manchen Formaten die ursprünglichen Zugriffsrechte und Zeitstempel. Wer aus einem Unix-System heraus archiviert, sollte diese beiden vor dem Umpacken prüfen, statt sich auf sie zu verlassen.
Auf einem Unix-System hält TAR von Haus aus Zugriffsrechte, Eigentümer, symbolische und harte Links fest, dazu Zeitstempel mit mehr Genauigkeit, als ZIP kennt. Das ist der Grund, warum Software als .tar.gz verteilt wird und nicht als ZIP: Beim Entpacken muss ein Baum entstehen, in dem das ausführbare Programm noch ausführbar ist und Links noch dorthin zeigen, wohin sie sollen.
Unter Windows hat das meiste davon keinen Platz und wird stillschweigend verworfen. Nichts geht dabei kaputt, aber eine unter Windows entpackte und neu gepackte .tar.gz-Datei hat die Rechte verloren, die sie ursprünglich tragen sollte — wichtig, wenn das Archiv anschließend zurück auf einen Server soll.
gzip ist schnell, universell verstanden und die sichere Standardwahl; fast alles erzeugt es und alles liest es. xz komprimiert spürbar stärker und braucht dafür deutlich länger, was sich für einmal geschriebene, oft heruntergeladene Dateien lohnt. bzip2 liegt dazwischen und ist heute weitgehend ein Auslaufmodell. zstd ist der neue Ansatz und kommt nahe an xz heran, bei Geschwindigkeiten in der Nähe von gzip.
Für eine Datei, die an jemand anderen geht, bleibt .tar.gz die richtige Antwort, weil die Grenze ist, was die Empfängerseite öffnen kann, nicht was am stärksten komprimiert. Die anderen lohnen sich, wenn man die Gegenstelle kennt.
Wandeln, wenn das Archiv an einen Menschen geht statt an eine Maschine — eine Kollegin unter Windows, ein Web-Upload-Formular, ein E-Mail-Anhang. ZIP öffnet jedes Betriebssystem ohne Nachdenken, und alles andere zu schicken bürdet der Gegenseite still ein Problem auf.
Nicht wandeln, wenn das Archiv zurück auf ein Unix-System geht. Ein Umpacken nach ZIP verwirft Zugriffsrechte, Eigentümerschaft und symbolische Links, die das Format eigentlich tragen sollte, und das entpackte Ergebnis funktioniert womöglich gar nicht. Bei einer Serversicherung oder einem Quellcode-Release ist .tar.gz kein Hindernis, das man umgeht — es ist der Grund, warum das Archiv überhaupt funktioniert.
| Endung | .tar |
|---|---|
| Medientyp | application/x-tar |
| Erstmals veröffentlicht | 1979 |
| Spezifikation | POSIX.1-2001 ustar |