2024 Autor: Peter John Melton | [email protected]. Zuletzt bearbeitet: 2024-01-07 23:04
Die heutige Question & Answer-Sitzung wird von SuperUser zur Verfügung gestellt - einer Unterteilung von Stack Exchange, einer Community-basierten Gruppierung von Q & A-Websites.
Die Frage
Der Superuser-Leser MarcusJ ist neugierig auf das Teerformat und warum wir es nach all den Jahren immer noch verwenden:
I know that tar was made for tape archives back in the day, but today we have archive file formats that both aggregate files and perform compression within the same logical file format.
Questions:
- Is there a performance penalty during the aggregation/compression/decompression stages for using tar encapsulated in gzip or bzip2, when compared to using a file format that does aggregation and compression in the same data structure? Assume the runtime of the compressor being compared is identical (e.g. gzip and Deflate are similar).
- Are there features of the tar file format that other file formats, such as.7z and.zip do not have?
- Since tar is such an old file format, and newer file formats exist today, why is tar (whether encapsulated in gzip, bzip2 or even the new xz) still so widely used today on GNU/Linux, Android, BSD, and other such UNIX operating systems, for file transfers, program source and binary downloads, and sometimes even as a package manager format?
Das ist eine durchaus vernünftige Frage. In den letzten dreißig Jahren hat sich in der Computerwelt so viel verändert, aber wir verwenden immer noch das tar-Format. Worum geht s?
Die Antwort
SuperUser-Mitwirkender Allquixotic bietet einen Einblick in die Langlebigkeit und Funktionalität des Tar-Formats:
Part 1: Performance
Here is a comparison of two separate workflows and what they do.
You have a file on disk
blah.tar.gz
Dies sind beispielsweise 1 GB gzip-komprimierte Daten, die im unkomprimierten Zustand 2 GB beanspruchen (also ein Komprimierungsverhältnis von 50%).
Wenn Sie das Archivieren und Komprimieren separat durchführen möchten, würden Sie Folgendes erstellen:
tar cf blah.tar files …
Das würde in resultieren
blah.tar
Das ist eine bloße Aggregation der
files …
in unkomprimierter Form.
Dann würden Sie tun
gzip blah.tar
Dies würde den Inhalt von lesen
blah.tar
Komprimieren Sie sie von der Festplatte mit dem gzip-Komprimierungsalgorithmus und schreiben Sie den Inhalt in
blah.tar.gz
dann die Verknüpfung aufheben (löschen)
blah.tar
Nun lasst uns dekomprimieren!
Weg 1
Du hast
blah.tar.gz
in gewisser Weise.
Sie beschließen zu laufen:
gunzip blah.tar.gz
Dieser Wille
-
LESEN Sie die komprimierten 1 GB-Dateninhalte von
blah.tar.gz
-
VERARBEITEN Sie die komprimierten Daten durch
gzip
Dekompressor im Speicher.
-
Wenn sich der Speicherpuffer mit "einem Block" an Daten füllt, SCHREIBEN Sie die unkomprimierten Daten in die Datei
blah.tar
Wiederholen Sie den Vorgang, bis alle komprimierten Daten gelesen sind.
-
Lösen Sie die Verknüpfung der Datei
blah.tar.gz
Jetzt hast du
blah.tar
auf der Festplatte, die nicht komprimiert ist, aber eine oder mehrere Dateien enthält, mit sehr geringem Datenstrukturaufwand. Die Dateigröße ist wahrscheinlichein paar Bytes größer als die Summe aller Dateidaten wäre.
Sie laufen:
tar xvf blah.tar
Dieser Wille
-
LESEN Sie die 2 GB unkomprimierten Dateninhalts von
blah.tar
und das
tar
Datenstrukturen des Dateiformats, einschließlich Informationen zu Dateiberechtigungen, Dateinamen, Verzeichnissen usw.
- SCHREIBEN Sie die 2 GB Daten und die Metadaten auf die Festplatte. Dies beinhaltet: Übersetzen der Datenstruktur- / Metadaten-Informationen, um gegebenenfalls neue Dateien und Verzeichnisse auf der Festplatte zu erstellen, oder vorhandene Dateien und Verzeichnisse mit neuem Dateninhalt umschreiben.
Die Gesamtdaten wir LESEN Von der Festplatte betrug in diesem Prozess 1 GB (für Gunzip) + 2 GB (für Teer) = 3 GB.
Die Gesamtdaten wir SCHRIEB In diesem Prozess waren 2 GB (für Gunzip) + 2 GB (für Tar) + einige Bytes für Metadaten = ca. 4 GB.
Weg 2
Du hast
blah.tar.gz
in gewisser Weise.
Sie beschließen zu laufen:
tar xvzf blah.tar.gz
Dieser Wille
-
LESEN Sie die komprimierten 1 GB-Dateninhalte von
blah.tar.gz
Block für Block in den Speicher.
-
VERARBEITEN Sie die komprimierten Daten durch
gzip
Dekompressor im Speicher.
-
Wenn der Speicherpuffer voll ist, wird dies der Fall sein Rohr diese Daten im Speicher bis hin zum
tar
Dateiformat-Parser, der Informationen über Metadaten usw. und die unkomprimierten Dateidaten liest.
-
Da füllt sich der Speicherpuffer im
tar
Datei-Parser, schreibt er die unkomprimierten Daten auf die Festplatte, indem er Dateien und Verzeichnisse erstellt und sie mit dem unkomprimierten Inhalt füllt.
Die Gesamtdaten wir LESEN von der Festplatte in diesem Prozess waren 1 GB komprimierte Daten, Zeitraum.
Die Gesamtdaten wir SCHRIEB In diesem Prozess waren 2 GB unkomprimierte Daten + einige Bytes für Metadaten = ca. 2 GB.
Wenn Sie feststellen, die Anzahl der Festplatten-E / A in Weg 2 istidentisch auf die Datenträger-E / A, die von beispielsweise ausgeführt wird
Zip
oder
7-Zip
Programme anpassen, um eventuelle Unterschiede im Kompressionsverhältnis anzupassen.
Wenn das Kompressionsverhältnis für Sie wichtig ist, verwenden Sie die Option
Xz
Kompressor zu verkapseln
tar
und Sie haben ein TAR-Archiv von LZMA2, das genauso effizient ist wie der fortschrittlichste Algorithmus, der verfügbar ist
7-Zip
:-)
Teil 2: Funktionen
tar
speichert UNIX-Berechtigungen in seinen Dateimetadaten und ist sehr bekannt und wurde getestet, um ein Verzeichnis mit allen Arten von unterschiedlichen Berechtigungen, symbolischen Links usw. erfolgreich zu packen. Es gibt mehr als einige Fälle, in denen ein Bündel von Dateien möglicherweise in einem Globus gespeichert werden muss eine einzelne Datei oder einen einzelnen Stream, aber nicht unbedingt komprimieren (obwohl Komprimierung nützlich und häufig verwendet wird).
Teil 3: Kompatibilität
Viele Tools werden in Quell- oder Binärform als.tar.gz oder.tar.bz2 verteilt, da es sich um ein Dateiformat mit dem geringsten gemeinsamen Nenner handelt: So wie die meisten Windows-Benutzer Zugriff auf.zip- oder.rar-Dekompressoren haben, die meisten Linux-Installationen. selbst die einfachsten werden zumindest über tar und gunzip verfügen, egal wie alt oder reduziert sie sind. Selbst Android-Firmwares haben Zugriff auf diese Tools.
Neue Projekte, die auf Zielgruppen ausgerichtet sind, auf denen moderne Distributionen ablaufen, können sehr gut in einem moderneren Format verteilt werden, z. B..tar.xz (mit dem Komprimierungsformat Xz (LZMA), das besser komprimiert als gzip oder bzip2) oder mit.7z ähnlich ist die ZIP- oder Rar-Dateiformate, indem sie ein Layout zum Einkapseln mehrerer Dateien in eine einzige Datei komprimieren und angeben.
Sie sehen nicht, dass.7z häufiger verwendet wird, aus dem gleichen Grund, dass Musik nicht von Online-Download-Stores in brandneuen Formaten wie Opus oder Video in WebM verkauft wird. Kompatibilität mit Personen, die alte oder sehr einfache Systeme verwenden.
Haben Sie etwas zur Erklärung hinzuzufügen? Ton aus in den Kommentaren.Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Hier geht es zum vollständigen Diskussionsthread.
Empfohlen:
Verwendung des Routers und der Modem / Router-Kombination des ISP im Tandem
Wenn Sie einen eigenen Router neben der Modem- / Router-Kombination Ihres Internet-Providers betreiben, besteht eine gute Chance, dass Sie sich unbeabsichtigt große Kopfschmerzen und eine Menge schwer zu findender Netzwerkprobleme bereiten. Schauen wir uns an, warum diese Probleme auftauchen, wie sie erkannt werden und wie sie behoben werden können.
Verwendung des Belkin WeMo Insight Switch zur Überwachung des Stromverbrauchs
Belkin bietet eine breite Palette von WeMo-Produkten an, doch der jüngste Neuzugang ist der WeMo Insight Switch. Mit diesem Gerät können Sie nicht nur Geräte von Ihrem Smartphone aus ein- und ausschalten, sondern auch den Stromverbrauch überwachen und schätzen, wie viel Sie ausgeben, indem Sie die Raumheizung angeschlossen haben. So können Sie diese Informationen optimal nutzen.
Der Windows Club ist heute 1 Jahr alt!
TheWindowsClub.com (TWC) wurde am 20. April 2009 gestartet und absolviert heute ein Jahr! TWC wurde zwei Jahre nach dem Start von WinVistaClub.com ins Leben gerufen, und ich muss sagen, dass es ein interessantes und ereignisreiches Jahr war!
Tipps zur Verwendung des Inspect Elements des Google Chrome-Browsers
Im Folgenden finden Sie einige Tipps, mit denen Sie das Inspect-Element von Google Chrome besser nutzen können. Bearbeiten Sie die Live-Website, prüfen Sie die Reaktionsfähigkeit, finden Sie versteckte Dateien und vieles mehr!
Verleihen Sie Ihrem Unternehmen einen Vorteil mit den lokalen und Cloud-Services von Microsoft
Microsoft versteht die Bedürfnisse gut und bietet Dienste in den oben genannten Kategorien an. Sie verfügen über verschiedene Vor-Ort-Dienste wie Office, SharePoint Server, Microsoft Dynamics (ERP und CRM), SQL Server usw.