WikiDer > Tar (Informatik)
Teer | ||||
![]() | ||||
Symbol für tar-Dateien in KDE | ||||
| Dateierweiterung | .Teer | |||
| Mime Typ | Anwendung/x-tar | |||
| ||||
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:
| Feldstart | Feldgröße | Feld |
|---|---|---|
| 0 | 100 | Dateiname |
| 100 | 8 | Dateimodus |
| 108 | 8 | Numerische Benutzer-ID des Besitzers |
| 116 | 8 | Numerische Benutzer-ID der Gruppe |
| 124 | 12 | Dateigröße in Byte (Oktalbasis) |
| 136 | 12 | Letzte Änderungszeit im numerischen Unix-Zeitformat (oktal) |
| 148 | 8 | Prüfsumme für Kopfdatensatz |
| 156 | 1 | Linkindikator (Dateityp) |
| 157 | 100 | Verknüpfter Dateiname |
Die Vor-POSIX.1-1988 Link-Anzeige Feld kann die folgenden Werte haben:
| Wert | Bedeutung |
|---|---|
| '0' oder (ASCII NULL) | Normale Datei |
| '1' | harter Link |
| '2' | Symbolischer Link |
Siehe auch
Externer Link
- (und) Manpage über tar (Dokumentation)
| Quellen, Anmerkungen und/oder Verweise |
