WikiDer > Tar (Informatik)

tar (informatica)
Teer
Symbol für tar-Dateien in KDE
Dateierweiterung.Teer
Mime TypAnwendung/x-tar
Portal  Portalsymbol  Informatik

In dem Informatik ist Teer (abgeleitet von Bandarchiv) beide a Datei Format (in Form einer Art Archiv-Bitstream) als Name eines Programms zur Verarbeitung solcher Dateien. Das Format wurde in den frühen Tagen von Unix und standardisiert durch POSIX.1-1988[1] und später POSIX.1-2001.[2]

Ursprünglich wurde es entwickelt, um Daten sequenziell zu schreiben IOGeräte für Bandsicherungszwecke. Heute wird tar hauptsächlich verwendet, um eine große Anzahl von Dateien in einer größeren Datei zu verteilen oder zu archivieren, während de Dateisysteminformationen wie Benutzer- und Gruppenberechtigungen, Daten und Verzeichnis Strukturen bewahren.

Erläuterung

Viele historische Bandlaufwerke lesen und schreiben Datenblöcke mit variabler Länge, wodurch zwischen den Blöcken erheblicher Platz auf dem Band verschwendet wird. Dies bedeutet, dass der Reifen oft physisch gestartet und gestoppt werden muss, also viele Bewegungen. Einige Bandlaufwerke (und Festplatten) unterstützen nur Datenblöcke mit fester Länge. Auch beim Schreiben auf ein Medium wie ein Dateisystem oder das Netzwerk dauert das Schreiben eines großen Blocks weniger Zeit als das Schreiben vieler kleiner Blöcke. Daher schreibt der tar-Befehl Daten in Blöcke von (Vielfachen von) 512 Bytes. Der Benutzer kann einen Blockgrößenfaktor angeben - dh die Anzahl der Datensätze pro Block angeben, der Standardwert ist 20 (Erzeugung von 10-Kilobyte-Blöcken - das war groß, als UNIX erfunden wurde, scheint aber jetzt ziemlich klein zu sein).

Formatdetails

Ein tar-Archiv besteht aus einer Reihe von Dateiobjekten. Jedes Dateiobjekt enthält die Ordner und wird von einem 512 Byte großen vorangestellt Header-Aufzeichnung. Die Dateidaten werden unverändert geschrieben, außer dass ihre Länge auf ein Vielfaches von 512 Byte gerundet wird und der zusätzliche Platz mit Nullen gefüllt wird.Bytes. Das Ende eines Archivs wird durch mindestens zwei aufeinanderfolgende mit Null gefüllte Datensätze markiert. (Der Ursprung des Datensatzformats von tar scheinen die 512-Byte-Festplattensektoren zu sein, die im Unix-Dateisystem der Version 7 verwendet werden.) Der letzte Block eines Archivs wird in seiner vollen Länge mit null Bytes gesprenkelt.

Dateiheader

Der Datei-Header-Datensatz enthält Metadaten über eine Datei. Um die Portabilität über verschiedene Architekturen hinweg mit unterschiedlichen Byte-Bestellungen, die Informationen im Header sind verschlüsselt in ASCII. Wenn also alle Dateien in einem Archiv Textdateien sind und ASCII-Namen haben, dann ist das Archiv im Wesentlichen eine ASCII-Textdatei (mit vielen NULL-Zeichen).

Spätere Erweiterungen haben dieses ursprüngliche Attribut verwässert (das aufgrund des Vorhandenseins von NULLs, die oft von Textmanipulationsprogrammen verarbeitet werden, nie besonders wertvoll war).

Die nach dem ursprünglichen Unix-Tar-Format definierten Felder sind in der folgenden Tabelle aufgeführt. Die Link-Anzeige/Dateityp-Tabelle enthält einige moderne Erweiterungen. Wenn ein Feld nicht verwendet wird, wird es mit NULL-Bytes gefüllt. Der Header wird mit NULL-Bytes aufgefüllt, um einen 512-Byte-Datensatz zu füllen.

Tar-Header vor POSIX.1-1988:

FeldstartFeldgrößeFeld
0100Dateiname
1008Dateimodus
1088Numerische Benutzer-ID des Besitzers
1168Numerische Benutzer-ID der Gruppe
12412Dateigröße in Byte (Oktalbasis)
13612Letzte Änderungszeit im numerischen Unix-Zeitformat (oktal)
1488Prüfsumme für Kopfdatensatz
1561Linkindikator (Dateityp)
157100Verknüpfter Dateiname

Die Vor-POSIX.1-1988 Link-Anzeige Feld kann die folgenden Werte haben:

Link-Anzeigefeld
WertBedeutung
'0' oder (ASCII NULL)Normale Datei
'1'harter Link
'2'Symbolischer Link

Siehe auch

Externer Link