Soll ich zum Erstellen eines .tar.bz2-Archivs Tar statt Bzip2 verwenden?

Soll ich zum Erstellen eines .tar.bz2-Archivs Tar statt Bzip2 verwenden?

Ich habe gerade gelesen, dass Dateien tarerstellt werden können .tar.bz2. Die ganze Zeit habe ich dazu tar+ verwendet.bzip2

Ich habe mich gefragt, ob es einen Unterschied zwischen der Verwendung tarzum Erstellen des Archivs und der Verwendung gibt bzip2?

Und warum sollte man zwei Dinge haben, die dasselbe tun?

Danke!

Antwort1

GNU tar unterstützt die Option --bzip2, mit der Sie die tar-Datei durch bzip2 streamen können, bevor Sie die resultierende Datei auf die Festplatte schreiben. Alle von Befehlszeilenoptionen unterstützten tar-Komprimierungen arbeiten mit gestreamten Datenblöcken, was im Normalfall keine große Rolle spielt, aber externe Komprimierung kann sogar mit demselben Algorithmus eine bessere Komprimierung bieten.

Wenn Sie beispielsweise --bzip2 verwenden, wird eine vordefinierte Komprimierungsstufe verwendet, während Sie bei der Ausführung von bzip2 auf einem unkomprimierten Tarball die Möglichkeit haben, verschiedene Komprimierungsparameter anzupassen und möglicherweise eine stärkere Komprimierung zu erreichen. Darüber hinaus können Vorgänge, die den gesamten Tarball als Eingabe verwenden können, möglicherweise Komprimierungsmöglichkeiten nutzen, die über die durch Streaming verfügbaren Blöcke in Standardgröße hinausgehen. Ein gutes Beispiel wärerzip, das Redundanzen im gesamten Tar-Archiv ausnutzen kann, anstatt nur Redundanzen innerhalb des aktuellen Datenblocks.

Sofern der Speicherplatz nicht extrem knapp ist, ist es im Allgemeinen besser, der Einfachheit halber die integrierten Komprimierungsoptionen zu verwenden. Die integrierten Optionen bieten ein hohes Maß an Komfort und einen vernünftigen Kompromiss zwischen Geschwindigkeit und Komprimierung. Ihre Laufleistung kann jedoch definitiv abweichen.

Antwort2

Ich habe mich gefragt, ob es einen Unterschied macht, ob man das Archiv mit Tar oder mit bzip2 erstellt.

Bzip2 ist ein Komprimierungstool … und zwar ein sehr gutes.

Tar ist ein Archivierungs- (Speicher-)Tool … vielleicht das erfolgreichste und robusteste.

Und warum sollte man zwei Dinge haben, die dasselbe tun?

Nun, Tar ist älter als Bzip und ich glaube sogar älter als das Original-Zip.

Sie tun nur in einigen wenigen Fällen „dasselbe“.

Vielleicht verstehen Sie nicht ganz, worum es bei Tar geht?

Tar dient zum Archivieren (Tape Archiver) und kann viel mehr, als nur eine Dateimenge zu komprimieren.

<quote man page>
DESCRIPTION
     Tar stores and extracts files from a tape or disk archive.
 </quote>

Sie können den Inhalt des Archivs also hinzufügen, extrahieren, entfernen und aktualisieren (in vielen Fällen ohne es zu entpacken).

Es handelt sich um ein klassisches Tool, das in der fernen heroischen Vergangenheit entwickelt wurde, als 64K eine Menge Speicher waren undStreaming-Dienste(Zeichen für Zeichen) basierte Speicherung war die Norm (wie Magnetbänder).

Tar kann beispielsweise einen (nominell menschlichen) Bediener anweisen, Bänder zu wechseln oder auf vielen Metern „Bändern“ vor-/zurückzuspulen, um den richtigen Bereich und die richtige Position zu finden.

Alle diese Funktionen sind immer noch nützlich, auch wenn die eigentliche Hardware schon lange nicht mehr existiert, werden die Konzepte immer noch verwendet. Insbesondere in der Backup-Welt.

Im Allgemeinen weiß es über dieStrukturund den Status eines archivierten Dateisystems und können es ändern oder daraus lesen, mehr oder weniger wie bei einem echten Live-Dateisystem. (was es natürlich ist, aber komprimiert, aufgezeichnet/registriert und irgendwo versteckt)

rsyncverfügt über einige (viele) der gleichen Funktionen, jedoch mit cleveren Algorithmen rund um Diffs.

siehe auch Pax.

Bzip ist ein brillantes Tool und inam meistenFälle können stärker komprimieren als Zip/Gzip.

Es ist ein effizientes und robustes Allzweck-Komprimierungstool. Der Schwerpunkt liegt auf der Komprimierung.

Im Laufe der Zeit wurden komprimierte Dateien als Archive bezeichnet, da dies den meisten von ihnen gemeinsam ist.

Oh, und schließlich verfügt Tar auch über eine native (nicht rollbare) Komprimierung. Mit dem Schalter -z oder -j können Sie stattdessen den jeweiligen Komprimierungsalgorithmus verwenden. (hmm oder vielleicht auch?)

Schauen Sie in den Manpages zu gzip, tar, bzip2, pax, rsync :)

ein einfaches Durchblättern der Tar-Dokumente sollte Ihnen einen Eindruck davon vermitteln.

Antwort3

tar cf - Dateifeld Dateiverzeichnis cat list| komprimieren > Datei.tar.Z komprimieren -d Datei.tar.Z | tar tvf -

Sie können „compress“ durch gzip, bzip2 oder lzop Ihrer Wahl ersetzen.

Ersetzen Sie v im letzten Befehl durch x, um Dateien während der Auflistung zu extrahieren.

verwandte Informationen