Teer (Computing)
Originalautor (en) | AT & T Bell Laboratories |
---|---|
Entwickler (en) | Verschiedene Open Source und kommerziell Entwickler |
Erstveröffentlichung | Januar 1979 |
Stabile Veröffentlichung (en) | |
Geschrieben in | pdtar, stern, Plan 9, GNU: C |
Betriebssystem | Unix, Unix-artig, Plan 9, Microsoft Windows, Ibm i |
Plattform | Plattformübergreifend |
Typ | Befehl |
Lizenz | BSD -Teer: BSD-2-Klausel Gnu tar: GPL-3.0-oder-Later pdtar: Public domain Plan 9: MIT Stern: CDDL-1.0 |
Dateiname Erweiterung | .Teer |
---|---|
Internet -Medientyp | Anwendung/x-tar |
Uniform Typ Identifier (UTI) | public.tar-archive |
magische Zahl | u s t a r \ 0 0 0 bei Byte Offset 257 (für POSIX -Versionen)
|
Neueste Erscheinung | verschiedene verschiedene |
Art des Formats | Datei -Archiver |
Standard | Posix seit pox.1, derzeit in der Definition von Pax[1] |
Offenes Format? | Ja |
Im Computer, Teer ist ein Computer -Software -Dienstprogramm zum Sammeln vieler Dateien in einem Archivdatei, oft als als als bezeichnet Tarball, zum Verteilung oder Sicherungszwecke. Der Name wird abgeleitet "tAffe arSchnittler ", wie es ursprünglich entwickelt wurde, um Daten auf sequentielle zu schreiben I/o Geräte ohne eigene Dateisystem. Die von TAR erstellten Archivdatensätze enthalten verschiedene Dateisystem Parameter wie Name, Zeitstempel, Eigentümer, Datei-Access-Berechtigungen und Verzeichnis Organisation. Possix aufgegeben Teer zugunsten Pax, noch Teer sieht anhaltend weit verbreitete Verwendung.
Geschichte
Das Befehlszeilen-Dienstprogramm wurde erstmals in der eingeführt Version 7 Unix Im Januar 1979 ersetzte das TP -Programm (das wiederum "Tap" ersetzte).[7] Das Dateistruktur Um diese Informationen zu speichern, wurde standardisiert in Posix.1-1988[8] und später pox.1-2001,[9] und wurde ein Format, das von den meisten modernen Dateiarchivierungssystemen unterstützt wurde. Das Tar-Kommando wurde in POSIX.1-2001 zugunsten von aufgegeben Pax Befehl, das das Ustar -Dateiformat unterstützen sollte; Das TAR -Kommando wurde zumindest seit 1994 für den Rückzug zugunsten des PAX -Kommandos angezeigt.
Heute, Unix-artig Betriebssysteme umfassen normalerweise Tools zur Unterstützung von TAR -Dateien sowie Dienstprogramme, die häufig zum Komprimieren verwendet werden, wie z. gzip und BZIP2.
Das Teer Der Befehl wurde auch auf die portiert Ibm i Betriebssystem.[10]
BSD-tar wurde in enthalten Microsoft Windows seit Windows 10. April 2018 Update,[11][12] Ansonsten gibt es mehrere Tools von Drittanbietern, um diese Formate unter Windows zu lesen und zu schreiben.
Begründung
Viele historische Klebebandfahrten lesen und schreiben variable Länge Datenblöckezwischen den Blöcken (damit das Klebeband physisch startet und aufhört, sich zu bewegen). Einige Klebebandfahrten (und Rohdisks) unterstützen nur Datenblöcke mit fester Länge. Beim Schreiben in ein Medium wie ein Dateisystem oder ein Netzwerk dauert es weniger Zeit, einen großen Block zu schreiben als viele kleine Blöcke. Daher schreibt der TAR -Befehl Daten in Aufzeichnungen von vielen 512B Blöcke. Der Benutzer kann einen Blockierungsfaktor angeben, der die Anzahl der Blöcke pro Datensatz ist. Die Standardeinstellung ist 20 und erzeugt 10Kib Aufzeichnungen.[13]
Datei Format
Es gibt mehrere TAR -Dateiformate, einschließlich historischer und aktueller. Zwei Teerformate sind in POSIX kodifiziert: Ustar und Pax. Nicht kodifiziert, aber immer noch im aktuellen Gebrauch ist das GNU -Teerformat.
Ein Teerarchiv besteht aus einer Reihe von Dateiobjekten, daher der populäre Begriff Tarball, verweisen, wie a Tarball Sammelt Objekte aller Art, die an seiner Oberfläche haften. Jedes Dateiobjekt enthält alle Dateidaten und gilt einem 512-Byte Header Aufzeichnung. Die Dateidaten werden unverändert geschrieben, außer dass die Länge auf ein Vielfaches von 512 Bytes abgerundet wird. Die ursprüngliche TAR -Implementierung kümmerte sich nicht um den Inhalt der Polsterbytes und ließ die Pufferdaten unverändert, aber die meisten modernen TAR -Implementierungen füllen den zusätzlichen Platz mit Nullen.[14] Das Ende eines Archivs ist durch mindestens zwei aufeinanderfolgende null gefüllte Rekorde gekennzeichnet. (Der Ursprung der Rekordgröße von TAR scheint die 512-Byte-Festplattensektoren zu sein, die im UNIX-Dateisystem von Version 7 verwendet werden.) Der letzte Block eines Archivs wird mit Nullen bis in die gesamte Länge gepolstert.
Header
Der Datei -Header -Datensatz enthält Metadaten über eine Datei. Um die Portabilität über verschiedene Architekturen mit unterschiedlichem Architekturen zu gewährleisten Byte -BestellungDie Informationen im Header -Datensatz sind in codiert ASCII. Wenn also alle Dateien in einem Archiv ASCII -Textdateien sind und ASCII -Namen haben, ist das Archiv im Wesentlichen eine ASCII -Textdatei (mit vielen enthält viele NUL -Charaktere).
Die vom ursprünglichen Unix TAR -Format definierten Felder sind in der folgenden Tabelle aufgeführt. Die Tabelle Linkanzeige/Dateityp enthält einige moderne Erweiterungen. Wenn ein Feld nicht verwendet wird, ist es mit NUL -Bytes gefüllt. Der Header verwendet 257 Bytes und wird dann mit NUL -Bytes gepolstert, damit er einen 512 -Byte -Datensatz füllt. Es gibt keine "magische Nummer" im Header für die Dateiidentifikation.
Pre-Pox.1-1988 (d. H. V7) TAR Header:
Fachaussatz | Feldgröße | Aufstellen |
---|---|---|
0 | 100 | Dateiname |
100 | 8 | Dateimodus (Oktal) |
108 | 8 | Numerische Benutzer -ID des Eigentümers (Oktal) |
116 | 8 | Die numerische Benutzer -ID der Gruppe (Oktal) |
124 | 12 | Dateigröße in Bytes (Oktal) |
136 | 12 | Letzte Änderungszeit im numerischen Unix -Zeitformat (Oktal) |
148 | 8 | Prüfsumme für Header -Datensatz |
156 | 1 | Verbindungsanzeige (Dateityp) |
157 | 100 | Name der verknüpften Datei |
Der Pre-Pox.1-1988 Verbindungsanzeige Das Feld kann die folgenden Werte haben:
Wert | Bedeutung |
---|---|
'0' oder ((ASCII Nul)) | Normale Datei |
'1' | Harte Verbindung |
'2' | Symbolischer Link |
Einige Vor-Posix.1-1988 TAR-Implementierungen zeigten ein Verzeichnis durch eine Nachverfolgung an Schrägstrich (/) im Namen.
Numerische Werte werden in codiert Oktal Zahlen mit ASCII -Ziffern mit führenden Nullen. Aus historischen Gründen eine endgültige NUL oder Platz Charakter sollte auch verwendet werden. Obwohl 12 Bytes für die Speicherung der Dateigröße reserviert sind, können nur 11 Oktalstellen gespeichert werden. Dies ergibt eine maximale Dateigröße von 8 Gigabyte auf archivierten Dateien. Um diese Einschränkung zu überwinden, führte der Stern im Jahr 2001 eine Basis-256-Codierung ein, die durch Festlegen des hohen Ordnungs des linken Bytes eines numerischen Feldes angezeigt wird. Gnu-tar und BSD-tar folgten dieser Idee. Zusätzlich padeln Versionen von TAR aus dem ersten POSIX -Standard von 1988 die Werte mit Räumen anstelle von Nullen.
Das Überprüfung wird berechnet, indem die Summe der nicht signierten Bytewerte des Header -Datensatzes mit den acht Prüfsummen -Bytes als ASCII -Räume (Dezimalwert 32) angenommen wird. Es wird als sechsstellige Oktalzahl mit führenden Nullen gespeichert, gefolgt von einem NUL und dann einem Raum. Verschiedene Implementierungen halten dieses Format nicht an. Darüber hinaus behandelten einige historische Tar -Implementierungen Bytes wie unterschrieben. Implementierungen berechnen die Prüfsumme in der Regel in beide Richtungen und behandeln sie als gut, wenn entweder die signierte oder nicht signierte Summe mit der enthaltenen Prüfsummen übereinstimmt.
UNIX -Dateisysteme unterstützen mehrere Links (Namen) für dieselbe Datei. Wenn mehrere solche Dateien in einem Teerarchiv erscheinen, wird nur die erste als normale Datei archiviert. Der Rest wird als harte Links archiviert, wobei das Feld "Name der verknüpften Datei" auf den Namen des ersten eingestellt ist. Bei der Extraktion sollten solche harten Links im Dateisystem nachgebildet werden.
Ustar -Format
Die meisten modernen Teerprogramme lesen und schreiben Archive in der USSTAR (UNIX Standard Tar[7][15]) Format, eingeführt vom POSIX IEEE P1003.1 Standard aus dem Jahr 1988. Es wurde zusätzliche Headerfelder eingeführt. Ältere TAR -Programme ignorieren die zusätzlichen Informationen (möglicherweise extrahieren teilweise benannte Dateien), während neuere Programme auf das Vorhandensein der "USSTAR" -Sziel testen, um festzustellen, ob das neue Format verwendet wird. Das Ustar -Format ermöglicht längere Dateinamen und speichert zusätzliche Informationen zu jeder Datei. Die maximale Dateinamegröße beträgt 256, wird jedoch auf einen vorhergehenden Pfad "Dateiname Präfix" und den Dateinamen selbst aufgeteilt, sodass viel geringer sein kann.[16]
Fachaussatz | Feldgröße | Aufstellen |
---|---|---|
0 | 156 | (Mehrere Felder, wie im alten Format) |
156 | 1 | Typ Flag |
157 | 100 | (Gleiches Feld wie im alten Format) |
257 | 6 | Ustar -Anzeige "ustar" dann NUL |
263 | 2 | Ustar -Version "00" |
265 | 32 | Benutzername des Eigentümers |
297 | 32 | Besitzergruppenname |
329 | 8 | Geräte -Hauptnummer |
337 | 8 | Geräte geringfügige Nummer |
345 | 155 | Dateiname Präfix |
Das Typ Flag Das Feld kann die folgenden Werte haben:
Wert | Bedeutung |
---|---|
'0' oder ((ASCII Nul)) | Normale Datei |
'1' | Harte Verbindung |
'2' | Symbolischer Link |
'3' | Charakter Special |
'4' | Special Block |
'5' | Verzeichnis |
'6' | FIFO |
'7' | Zusammenhängende Datei |
'g' | Globaler erweiterter Header mit Meta-Daten (POSIX.1-2001) |
'x' | Erweiterte Header mit Meta-Daten für die nächste Datei im Archiv (POSIX.1-2001) |
'A' - 'z' | Lieferantenspezifische Erweiterungen (POSIX.1-1988) |
Alle anderen Werte | Reserviert für zukünftige Standardisierung |
POSIX.1-1988 Vendorspezifische Erweiterungen mit Link-Flag-Werten 'A'-'Z' haben teilweise eine andere Bedeutung bei verschiedenen Anbietern und werden daher als veraltet und ersetzt durch die POSIX.1-2001-Erweiterungen, die auch ein Anbieter-Tag enthalten.
Typ '7' (zusammenhängende Datei) wird formal als im POSIX -Standard reserviert markiert, sollte jedoch Dateien angeben, die auf der Festplatte zusammenhängend zugewiesen werden sollten. Nur wenige Betriebssysteme unterstützen das Erstellen solcher Dateien explizit. Eine Ausnahme sind ältere Versionen von Gnu Tar, wenn Sie auf dem laufen Masscomp RTU (Echtzeit Unix) Betriebssystem, das ein O_CTG -Flag für die Funktion open () unterstützte, um eine zusammenhängende Datei anzufordern; Diese Unterstützung wurde jedoch ab dem GNU TAR Version 1.24 entfernt.
Pox.1-2001/pax
In 1997, Sonne schlug eine Methode zum Hinzufügen von Erweiterungen zum TAR -Format vor. Diese Methode wurde später für den posix.1-2001-Standard akzeptiert. Dieses Format ist als bekannt als verlängerter Teer Format oder Pax Format. Mit dem neuen TAR-Format können Benutzer eine beliebige Art von Lieferanten-Lieferanten-spezifischen Verbesserungen hinzufügen. Die folgenden Tags werden durch den POSIX -Standard definiert:
- eine Zeit, mtime: Alle Zeitstempel einer Datei in willkürlicher Auflösung (die meisten Implementierungen verwenden Nanosekunden -Granularität)
- Weg: Pfadnamen unbegrenzter Länge und Zeichensatzcodierung
- LinkPath: Symlink -Zielnamen unbegrenzter Länge und Zeichensatzcodierung
- dein Name, Gname: Benutzer- und Gruppennamen unbegrenzter Länge und Zeichensatzcodierung
- Größe: Dateien mit unbegrenzter Größe (das historische Teerformat beträgt 8 GB)
- uid, gid: UserID und GroupID ohne Größenbeschränkung (dieses historische Teerformat war auf eine max. ID von 2097151 beschränkt)
- Eine Zeichensatzdefinition für Pfadnamen und Benutzer-/Gruppennamen (NamenUTF-8)
Im Jahr 2001 war das Star -Programm der erste Teer, der das neue Format unterstützte. Im Jahr 2004 unterstützte Gnu Tar das neue Format,[17] Obwohl es es noch nicht als Standardausgabe aus dem TAR -Programm schreibt.[18]
Das PAX -Format ist so konzipiert, dass alle Implementierungen, die das USSTAR -Format lesen können, auch das PAX -Format lesen können. Die einzigen Ausnahmen sind Dateien, die erweiterte Funktionen verwenden, z. B. längere Dateinamen. Für die Kompatibilität werden diese in den TAR -Dateien als speziell codiert x
oder g
Geben Sie Dateien ein, normalerweise unter a PaxHeaders.XXXX
Verzeichnis.[19]: Exthdr.name Eine PAX-Supporting-Implementierung würde die Informationen nutzen, während nicht unterstützende Personen mögen 7-Zip würde sie als zusätzliche Dateien verarbeiten.[20]
Verwendet
Befehlssyntax
tar [-options] <Name des TAR-Archivs> [Dateien oder Verzeichnisse, die zum Archiv hinzugefügt werden sollen]
Grundoptionen:
-
-c, -create
- Erstellen Sie ein neues Archiv; -
-a, --auto-compress
- Komprimieren Sie das Archiv zusätzlich mit einem Kompressor, der automatisch durch die Dateiname -Erweiterung des Archivs bestimmt wird. Wenn der Name des Archivs mit endet mit*.tar.gz
dann benutze gzip, wenn*.tar.xz
dann benutze xz,*.tar.zst
zum Zstandard etc.; -
-R, -Append
- Dateien an das Ende eines Archivs anhängen; -
-x, --extrakt, --get
- Dateien aus einem Archiv extrahieren; -
-f, -File
- Geben Sie den Namen des Archivs an; -
-t, -List
- Zeigen Sie eine Liste von Dateien und Ordnern im Archiv an; -
-V, --verbose
- Zeigen Sie eine Liste verarbeiteter Dateien an.
Grundnutzung
Erstellen Sie eine Archivdatei archive.tar
Aus der Datei README.txt
und Verzeichnis src
:
$ tar -cvf archive.tar readme.txt src
Inhalt für die extrahieren archive.tar
in das aktuelle Verzeichnis:
$ tar -xvf archive.tar
Erstellen Sie eine Archivdatei archive.tar.gz
Aus der Datei README.txt
und Verzeichnis src
und komprimieren Sie es mit gzip:
$ tar -cavf archive.tar.gz readme.txt src
Inhalt für die extrahieren archive.tar.gz
in das aktuelle Verzeichnis:
$ tar -xvf archive.tar.gz
Plane
Eine Plane ist die Methode zum Erstellen eines Archivs auf der Standardausgabe Datei des TAR -Dienstprogramms und zu einem anderen Teerprozess auf seiner Standardeingabe, Arbeiten in einem anderen Verzeichnis, wo es ausgepackt ist. Dieser Prozess kopiert einen gesamten Quellverzeichnisbaum, einschließlich aller speziellen Dateien, zum Beispiel:
$ Teer CF - srcdir | Tar x -c destdir
Softwareverteilung
Das Teerformat wird weiterhin ausführlich für verwendet Open Source Softwareverteilung. *Nix-Distributionen verwenden es in verschiedenen Quell- und Binärverpackungsverteilungsmechanismen mit den meisten Software Quellcode in komprimierten Teerarchiven zur Verfügung gestellt.
Einschränkungen
Das ursprüngliche TAR -Format wurde in den frühen Tagen der Unix erstellt, und trotz der aktuellen Verwendung werden viele seiner Entwurfsmerkmale als datiert angesehen.[21]
Viele ältere TAR -Implementierungen erfassen noch erweiterte Attribute (XATTRs) oder wiederher Zugriffskontrolllisten (ACLS). Im Jahr 2001 führte Star die Unterstützung für ACLs und erweiterte Attribute durch seine eigenen Tags für POSIX.1-2001 PAX ein. BSDTAR verwendet die Sternerweiterungen, um ACLs zu unterstützen.[22] Neuere Versionen von GNU Tar unterstützen Linux Extended Attribute, neu auf Sternerweiterungen.[23] Eine Reihe von Erweiterungen wird im Filetyp -Handbuch für BSD Tar (5) überprüft.[22]
Andere Formate wurden erstellt, um die Mängel von TAR zu beheben.
Tarbomb
A Tarbomb, in Hacker -Slang, ist eine TAR -Datei, die viele Dateien enthält, die in das Arbeitsverzeichnis extrahiert werden. Eine solche TAR -Datei kann Probleme erzeugen, indem sie im Arbeitsverzeichnis gleichnamigen Dateien überschreiben oder die Dateien eines Projekts in eine andere mischen. Es ist bestenfalls eine Unannehmlichkeit für den Benutzer, der verpflichtet ist, eine Reihe von Dateien zu identifizieren und zu löschen, die mit den anderen Inhalten des Verzeichnisses durchsetzt sind. Ein solches Verhalten wird als schlechte Etikette seitens des Schöpfers des Archivs angesehen.
Ein verwandtes Problem ist die Verwendung von Absolute Wege oder übergeordnetes Verzeichnis Referenzen beim Erstellen von TAR -Dateien. Dateien, die aus solchen Archiven extrahiert werden, werden häufig an ungewöhnlichen Stellen außerhalb des Arbeitsverzeichnisses erstellt und können wie eine Tarbomb das Potenzial haben, vorhandene Dateien zu überschreiben. Moderne Versionen von FreeBSD und GNU TAR erstellen jedoch standardmäßig Absolute Pfade und Elternverzeichnisreferenzen, es sei denn -P
oder die Option --absolute-names
. Das BSDTAR -Programm, das auch auf vielen Betriebssystemen verfügbar ist und das Standard -Tar -Dienstprogramm ist Mac OS X V10.6 folgt auch nicht übergeordnete Referenzen oder symbolische Links.[24][Fehlgeschlagene Überprüfung]
Wenn ein Benutzer nur einen sehr alten Teer zur Verfügung hat, der keine Sicherheitsmaßnahmen enthält, können diese Probleme gemildert werden, indem zuerst eine TAR -Datei mit dem Befehl untersucht wird Tar tf Archive.tar
, was den Inhalt auflistet und ermöglicht, problematische Dateien anschließend auszuschließen. Diese Befehle extrahieren keine Dateien, sondern zeigen die Namen aller Dateien im Archiv an. Wenn irgendwelche problematisch sind, kann der Benutzer ein neues leeres Verzeichnis erstellen und das Archiv darin extrahieren - oder die TAR -Datei vollständig vermeiden. Die meisten grafischen Werkzeuge können den Inhalt des Archivs anzeigen, bevor Sie sie extrahieren. Vim Kann Teerarchive öffnen und ihren Inhalt anzeigen. GNU EMACS ist auch in der Lage, ein Teerarchiv zu öffnen und seinen Inhalt in a zu zeigen Dired Puffer.
Zufallszugriff
Das TAR -Format wurde ohne zentralisierten Index oder Inhaltstabelle für Dateien und deren Eigenschaften zum Streaming auf Bandsicherungsgeräte entworfen. Das Archiv muss nacheinander gelesen werden, um Dateien aufzulisten oder zu extrahieren. Für große Teerarchive führt dies zu einer Leistungsstrafe, wodurch Teerarchive für Situationen, die häufig einen zufälligen Zugriff auf einzelne Dateien erfordern, ungeeignet sind.
Duplikate
Ein weiteres Problem mit dem TAR -Format besteht darin, dass mehrere (möglicherweise unterschiedliche) Dateien im Archiv einen identischen Pfad und Dateinamen haben können. Bei der Extraktion eines solchen Archivs überschreibt die letztere Version einer Datei die erstere.
Dies kann eine nicht explizite (unerwünschte) Tarbomb erstellen, die technisch gesehen keine Dateien mit absoluten Pfaden oder überweisenden übergeordneten Verzeichnissen enthält, aber dennoch über das aktuelle Verzeichnis überschreiben wird (z. B. kann das Archiv zwei Dateien mit demselben Pfad und demselben Pfad enthalten. Erstens davon ist a Symlink zu einem Ort außerhalb des aktuellen Verzeichnisses und der zweiten davon ist eine reguläre Datei; Anschließend kann das Extrahieren eines solchen Archivs einiger TAR -Implementierungen dazu führen, dass das Schreiben an den Ort, auf den der Symlink verweist).
Schlüsselimplementierungen
Historisch gesehen haben viele Systeme TAR und viele implementiert Allgemeine Datei Erziver haben zumindest teilweise Unterstützung für TAR (häufig mit einer der folgenden Implementierungen). Die Geschichte von Teer ist eine Geschichte von Inkompatibilitäten, die als "Teerkriege" bezeichnet werden. Die meisten Teer -Implementierungen können auch lesen und erstellen CPIO und Pax (Letzteres ist tatsächlich a Teer-Format mit Posix-2001-Auslöses).
Schlüsselimplementierungen in der Reihenfolge der Herkunft:
- Solaris Teer, basierend auf dem ursprünglichen UNIX V7 TAR und kommt als Standard für das Solaris -Betriebssystem
- GNU Teer ist der Standard am meisten Linux Verteilungen. Es basiert auf der Public -Domain -Implementierung PDTAR, die 1987 begann. Aktuelle Versionen können verschiedene Formate verwenden, einschließlich der Formate von Ustar, PAX, GNU und V7.
- Freebsd Teer (Auch BSD Teer) ist der Standard -Teer an den meisten geworden Berkeley Software Distribution-basierte Betriebssysteme einschließlich Mac OS X. Die Kernfunktionalität ist verfügbar als libarchive Für Aufnahme in andere Anwendungen. Diese Implementierung erkennt automatisch das Format der Datei und kann aus TAR-, PAX-, CPIO-, ZIP-, RAR-, AR-, XAR-, RPM- und ISO 9660 -CDROM -Bildern extrahieren. Es wird auch mit einer funktional äquivalenten CPIO-Befehlszeilenschnittstelle geliefert.
- Schili Tar, besser bekannt als Stern, ist historisch bedeutsam, da einige seiner Erweiterungen sehr beliebt waren. Erstes im April 1997 veröffentlicht,[25] Sein Entwickler hat erklärt, dass er 1982 mit der Entwicklung begonnen hat.[26]
- Python -Tarfile Das Modul unterstützt mehrere Teerformate, einschließlich Ustar, Pax und GNU; Es kann ein V7 -Format und das Sunos Tar Extended Format erstellen, aber kein V7 -Format erstellen. Pax ist das Standardformat für die Erstellung von Archiven.[27] Seit 2003 verfügbar.[28]
Zusätzlich die meisten Pax und CPIO Implementierungen können mehrere Arten von TAR -Dateien lesen und erstellen.
Suffixe für komprimierte Dateien
Teer Archivdateien haben normalerweise das Datei -Suffix .Teer (z.B. selten.tar).
Eine TAR -Archivdatei enthält unkomprimierte Byte -Streams der von ihr enthaltenden Dateien. Um eine Archivkomprimierung zu erreichen, eine Vielzahl von Kompression Programme sind verfügbar, wie z. gzip, BZIP2, xz, Lzip, Lzma, ZSTD, oder Kompresse, die das gesamte Teerarchiv komprimiert. In der Regel empfängt die komprimierte Form des Archivs einen Dateinamen, indem das formatspezifische Kompressorsuffix an den Namen der Archivdatei angeht. Zum Beispiel ein Teerarchiv Archive.tar, benannt archive.tar.gz, wenn es durch gzip komprimiert wird.
Beliebte Teerprogramme wie die BSD und GNU Versionen von Tar unterstützen die Befehlszeilenoptionen Z (Kompresse), z (gzip) und j (BZIP2), um die Archivdatei beim Erstellen oder Auspacken zu komprimieren oder zu dekomprimieren. Relativ neuere Ergänzungen umfassen --lzma (Lzma), --lzop (Lzop), --xz oder J (xz), --lzip (lzip) und --zstd.[29] Die Dekompression dieser Formate wird automatisch behandelt, wenn unterstützte Dateiname -Erweiterungen verwendet werden und die Komprimierung automatisch mit denselben Dateinamenverlängerungen behandelt wird, wenn die Option -Autokompress (Kurzform -a) wird an eine anwendbare Version von GNU Tar übergeben.[16] BSD TAR erkennt einen noch größeren Kompressorenbereich (LRZIP, LZ4), Verwenden Sie nicht den Dateinamen, sondern die Daten innerhalb.[30] Nicht anerkannte Formate sind durch Rohrleitungen manuell komprimiert oder dekomprimiert zu werden.
MS-DOS's 8.3 Dateiname Die Einschränkungen führten zu zusätzlichen Konventionen für die Benennung von komprimierten Teerarchiven. Diese Praxis ist jedoch mit abgelehnt FETT jetzt anbieten Lange Dateinamen.
Kompressor | Lang | Kurz |
---|---|---|
BZIP2 | .tar.bz2 | .tb2, .tbz, .tbz2, .Tz2 |
gzip | .tar.gz | .taz, .tgz |
Lzip | .tar.lz | |
Lzma | .tar.lzma | .tlz |
Lzop | .tar.lzo | |
xz | .tar.xz | .txz |
Kompresse | .tar.z | .Tz, .taz |
ZSTD | .tar.zst | .Tzst |
Siehe auch
- Vergleich von Dateibogenfahrern
- Vergleich der Archivformate
- Liste der Archivformate
- Liste der UNIX -Befehle
Verweise
- ^ "libarchive".
- ^ Sergey Poznyakoff (13. Februar 2021). "Tar-1.34 veröffentlicht". Abgerufen 13. Februar 2021.
- ^ John Gilmore (1986-12-10). "V07I088: TAR-Programm für öffentliche Domänen". Newsgroup:Mod.Sources. Archiviert vom Original am 2022-02-07. Abgerufen 2022-02-07.
- ^ "Posixtar".
- ^ "Stern".
- ^ Gilmore, John; Fenlason, Jay (4. Februar 2019). "Grundes Teerformat". gnu.org. und andere. Kostenlose Software -Stiftung. Abgerufen 17. April 2019.
- ^ a b "Teer (5) Manuelle Seite". FreeBSD.org. Freebsd. 20. Mai 2004. Abgerufen 2. Mai 2017.
- ^ IEEE STD 1003.1-1988, IEEE -Standard für Informationstechnologie - Tragbare Betriebssystemschnittstelle (POSIX)
- ^ IEEE STD 1003.1-2001, IEEE -Standard für Informationstechnologie - Tragbare Betriebssystemschnittstelle (POSIX)
- ^ IBM. "IBM System I Version 7.2 Programmierung Qshell" (PDF). IBM. Abgerufen 2020-09-05.
- ^ "Ankündigung von Windows 10 Insider Preview Build 17063 für PC". Windows Experience Blog. 2017-12-19. Abgerufen 2. Juli 2018.
- ^ "Teer und Locken kommen zu Windows!". 2019-03-22.
- ^ "Blockierung". ftp.gnu.org. Abgerufen 2020-08-26.
- ^ Hoo, James. "Öffnen/extrahieren Sie die Tar -Datei mit Freeware unter Windows/Mac/Linux". E7Z org. Archiviert von das Original am 6. Februar 2015. Abgerufen 3. September 2019.
- ^ Kientzle, Tim (1995). Internetdateiformate. Coriolis Gruppenbücher. ISBN 978-1-883577-56-8. Abgerufen 12. Dezember 2015.
- ^ a b c "GNU TAR 1.32: 8.1 Verwenden Sie weniger Platz durch Komprimierung". GNU. 2019-02-23. Abgerufen 2019-08-11.
- ^ NACHRICHTEN, git.savannah.gnu.org - Suche nach "Unterstützung für POSIX.1-2001- und Ustar -Archivformate".
- ^ "GNU TAR 1.34: 8. Kontrolle des Archivformats". GNU. Abgerufen 2022-07-11.
- ^ Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe - Shell and Utilities Referenz,
- ^ "#2116 Tars mit PAX -Headern, die nicht analysiert werden". 7-Zip / Bugs | SourceForge.
- ^ Vorgeschlagenes Format zum Ersetzen von TAR durch die Entwickler des Duplicity Utility.
- ^ a b Freebsd Dateiformate Handbuch - -
- ^ "Erweiterte Attribute: das Gute, das nicht so gut, das Schlechte". Les Bons comptes.15. Juli 2014. archiviert von das Original am 14. Dezember 2014. Abgerufen 3. September 2019.
Die erweiterten Attribute können für die Speicherung von Dateimetadaten (z. B. Author = "John Smith", Subjekt = "Landlandschaft") sehr wertvoll sein, in den vielen Fällen, in denen Sie diese Daten nicht in den internen Eigenschaften der Datei speichern möchten oder nicht speichern können.
- ^ Mann Seite für "bsdtar".
- ^ Thomas E. Dickey (4. Januar 2015). "Teer versus Portabilität: Schili Tar". Abgerufen 23. Oktober, 2021.
- ^ Jörg Schilling (4. September 2021). "Star - einzigartiger Standard -Bandarchiver". Abgerufen 23. Oktober, 2021.
- ^ Tarfile Modul, python.org
- ^ TARFILE.PY, Github.com
- ^ Poznyakoff, Sergey (2019-01-02). "Tar-1.31 veröffentlicht [stabil]". GNU -Mailinglisten. Abgerufen 2019-08-06.
- ^ Freebsd Allgemeine Befehle Handbuch - -
Externe Links
- X/Open CAE -Spezifikationsbefehle und -versorger Ausgabe 4, Version 2 (PDF), 1994, OpenGroup.org - zeigt TAR an, dass er zurückgezogen wird
- Teer In der Single UNIX ® Spezifikation, Version 2, 1997, OpenGroup.org - gibt die Anwendungen an
- C.4 Dienstprogramme In den offenen Gruppenbasisspezifikationen Ausgabe 6, 2004 Ausgabe, OpenGroup.org - zeigt TAR wie entfernt an
- Die einzelne Unix -Spezifikation, Version 4 von Die offene Gruppe - Gibt die Ustar- und PAX -Dateiformate an - Shell and Utilities Referenz,
- Version 7 Unix Programmierer Handbuch - -
- GNU - Handbuch von
- Plan 9 Programmierhandbuch, Volume 1 - -
- Solaris 10 Benutzerbefehle Referenz Handbuch - -
- Freebsd Allgemeine Befehle Handbuch - -
- OpenBSD Allgemeine Befehle Handbuch - -
- Linux Benutzer Handbuch - Benutzerbefehle - -
- Freebsd Dateiformate Handbuch - -
- TAR - Windows CMD - SS64.com