Connect with us

Wie man

Was ist der Vorteil der heutigen Verwendung des Tar-Dateiformats?

Was ist der Vorteil der heutigen Verwendung des Tar-Dateiformats?

Das Archivierungsformat tar ist in Rechenjahren ein wahrer Methusalem, wird aber auch heute noch stark genutzt. Was macht das tar-Format noch lange nach seiner Einführung so nützlich?

SuperUser-Leser MarcusJ ist neugierig auf das tar-Format und warum wir es nach all den Jahren immer noch verwenden:

Das ist eine vollkommen 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?

SuperUser-Mitwirkender Allquixotic bietet einige Einblicke in die Langlebigkeit und Funktionalität des Tar-Formats:

Teil 1: Leistung

Hier ist ein Vergleich von zwei separaten Workflows und was sie tun.

Sie haben eine Datei auf der Festplatte blah.tar.gz das sind, sagen wir, 1 GB gzip-komprimierte Daten, die unkomprimiert 2 GB belegen (also eine Komprimierungsrate von 50%).

Wenn Sie Archivierung und Komprimierung getrennt durchführen würden, würden Sie dies folgendermaßen erstellen:

tar cf blah.tar files ...

Dies würde dazu führen, dass blah.tar das ist eine bloße Aggregation der files ... in unkomprimierter Form.

Dann würdest du es tun

gzip blah.tar

Dies würde den Inhalt von lesen blah.tar von der Festplatte, komprimieren Sie sie mit dem gzip-Komprimierungsalgorithmus, schreiben Sie den Inhalt in blah.tar.gz, dann die Verknüpfung der Datei aufheben (löschen) blah.tar.

Jetzt dekomprimieren wir!

Weg 1

Sie haben blah.tar.gz, in gewisser Weise.

Sie entscheiden sich zu laufen:

gunzip blah.tar.gz

Dieser Wille

  • LESEN Sie die 1 GB komprimierten Dateninhalte von blah.tar.gz.
  • VERARBEITEN Sie die komprimierten Daten durch die gzip Dekompressor im Speicher.
  • Wenn sich der Speicherpuffer mit Daten im Wert von „einem Block“ füllt, SCHREIBEN Sie die unkomprimierten Daten in die Dateiblah.tar auf der Festplatte und wiederholen Sie den Vorgang, bis alle komprimierten Daten gelesen wurden.
  • Verknüpfung der Datei aufheben (löschen) blah.tar.gz.

Jetzt hast du blah.tar auf Festplatte, die unkomprimiert ist, aber eine oder mehrere Dateien enthält, mit sehr geringem Datenstruktur-Overhead. Die Dateigröße ist wahrscheinlich größer als die Summe aller Dateidaten.

Sie laufen:

tar xvf blah.tar

Dieser Wille

  • LESEN Sie die 2 GB unkomprimierten Dateninhalte von blah.tar und der tar Datenstrukturen des Dateiformats, einschließlich Informationen zu Dateiberechtigungen, Dateinamen, Verzeichnissen usw.
  • SCHREIBEN Sie die 2 GB Daten plus die Metadaten auf die Festplatte. Dies beinhaltet: die Übersetzung der Datenstruktur/Metadaten-Informationen, um gegebenenfalls neue Dateien und Verzeichnisse auf der Festplatte zu erstellen, oder bestehende Dateien und Verzeichnisse mit neuen Dateninhalten umzuschreiben.

Die Gesamtdaten, die wir LESEN von der Festplatte in diesem Prozess war 1 GB (für gunzip) + 2 GB (für tar) = 3 GB.

Die Gesamtdaten, die wir SCHRIEB auf die Festplatte waren in diesem Prozess 2 GB (für gunzip) + 2 GB (für tar) + ein paar Bytes für Metadaten = ca. 4 GB.

Weg 2

Sie haben blah.tar.gz, in gewisser Weise.

Sie entscheiden sich zu laufen:

tar xvzf blah.tar.gz

Dieser Wille

  • LESEN Sie die 1 GB komprimierten Dateninhalte von blah.tar.gz, einen Block nach dem anderen, in den Speicher.
  • VERARBEITEN Sie die komprimierten Daten durch die gzip Dekompressor im Speicher.
  • Wenn sich der Speicherpuffer füllt, wird es Rohr dass Daten im Speicher bis hin zum tar Dateiformat-Parser, der die Informationen über Metadaten usw. und die unkomprimierten Dateidaten liest.
  • Wenn sich der Speicherpuffer im tar Dateiparser, wird er die unkomprimierten Daten auf die Festplatte SCHREIBEN, indem er Dateien und Verzeichnisse erstellt und sie mit dem unkomprimierten Inhalt füllt.

Die Gesamtdaten, die wir LESEN von der Festplatte in diesem Prozess war 1 GB komprimierter Daten, Punkt.

Die Gesamtdaten, die wir SCHRIEB auf die Festplatte wurden in diesem Prozess 2 GB unkomprimierte Daten + ein paar Bytes für Metadaten = ca. 2 GB.

Wenn Sie feststellen, dass die Menge der Festplatten-E/A in Weg 2 ist für die Festplatten-E/A, die beispielsweise von dem Zip oder7-Zip Programme, um eventuelle Unterschiede im Komprimierungsverhältnis auszugleichen.

Und wenn das Komprimierungsverhältnis Ihr Anliegen ist, verwenden Sie die Xz kompressor zum kapseln tar, und Sie haben LZMA2’ed TAR-Archiv, das genauso effizient ist wie der fortschrittlichste verfügbare Algorithmus 7-Zip 🙂

Teil 2: Funktionen

tar speichert UNIX-Berechtigungen in seinen Datei-Metadaten und ist sehr bekannt und getestet dafür, ein Verzeichnis erfolgreich mit allen Arten von verschiedenen Berechtigungen, symbolischen Links usw eine einzelne Datei oder einen einzelnen Stream, aber nicht unbedingt komprimieren (obwohl Komprimierung nützlich ist und oft verwendet wird).

Teil 3: Kompatibilität

Viele Tools werden in Quell- oder Binärform als .tar.gz oder .tar.bz2 vertrieben, da es sich um ein Dateiformat mit dem „kleinsten gemeinsamen Nenner“ handelt: Ähnlich wie die meisten Windows-Benutzer Zugriff auf .zip- oder .rar-Dekomprimierer haben, haben die meisten Linux-Installationen, selbst die einfachsten haben Zugang zu mindestens tar und gunzip, egal wie alt oder reduziert. Sogar Android-Firmwares haben Zugriff auf diese Tools.

Neue Projekte, die sich an Zielgruppen richten, die moderne Distributionen ausführen, können sehr gut in einem moderneren Format wie .tar.xz (mit dem Komprimierungsformat Xz (LZMA), das besser komprimiert als gzip oder bzip2 ist) oder .7z, das ähnlich wie . ist, verbreitet werden die Zip- oder Rar-Dateiformate, da sie sowohl komprimiert als auch ein Layout für die Kapselung mehrerer Dateien in einer einzigen Datei angibt.

.7z wird nicht häufiger verwendet, aus dem gleichen Grund, aus dem Musik nicht in brandneuen Formaten wie Opus oder Video in WebM von Online-Download-Shops verkauft wird. Kompatibilität mit Leuten, die alte oder sehr einfache Systeme verwenden.

Möchten Sie der Erklärung noch etwas hinzufügen? Ton in den Kommentaren ab. Möchten Sie mehr Antworten von anderen technisch versierten Stack Exchange-Benutzern lesen? Sehen Sie sich hier den vollständigen Diskussionsthread an.

Continue Reading
Click to comment

Leave a Reply

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Tendencia