Verwenden Sie tar vs bzip2 zum Erstellen eines .tar.bz2-Archivs?

4310
Jeffrey Jose

Ich lese gerade, dass tarsich .tar.bz2Dateien erstellen lassen . Die ganze Zeit habe ich tar+ benutzt bzip2, um dies zu tun.

Ich habe mich gefragt, ob es einen Unterschied gab zwischen der Verwendung tardes Archivs und der Verwendung von bzip2?

Warum auch zwei Dinge haben, die dasselbe tun?

Vielen Dank!

6

3 Antworten auf die Frage

7
CodeGnome

GNU tar unterstützt die Option --bzip2, mit der Sie die tar-Datei über bzip2 streamen können, bevor Sie die resultierende Datei auf die Festplatte schreiben. Alle Teer-Komprimierungen, die von Befehlszeilenoptionen unterstützt werden, arbeiten mit Datenblöcken, was im Durchschnittsfall keine Rolle spielt. Die externe Komprimierung kann jedoch mit demselben Algorithmus eine bessere Komprimierung bieten.

Wenn Sie beispielsweise --bzip2 verwenden, wird eine vordefinierte Komprimierungsstufe verwendet. Wenn Sie bzip2 auf einem nicht komprimierten Tarball ausführen, können Sie verschiedene Komprimierungsparameter anpassen und möglicherweise eine strengere Komprimierung erzielen. Darüber hinaus können Operationen, die den gesamten Tarball für die Eingabe verwenden können, möglicherweise Komprimierungsmöglichkeiten nutzen, die über die durch Streaming verfügbaren Chunks mit Standardgröße hinausgehen. Ein gutes Beispiel wäre lrzip, das Redundanzen im gesamten tar-Archiv nutzen kann und nicht nur Redundanzen im aktuellen Datenblock.

Wenn der Platz nicht extrem hoch ist, können Sie die integrierten Komprimierungsoptionen der Einfachheit halber besser nutzen. Die integrierten Optionen bieten hohen Komfort und einen angemessenen Kompromiss zwischen Geschwindigkeit und Kompression. Ihre Laufleistung kann jedoch definitiv variieren.

Beachten Sie, dass "--bzip2" die lange Form von "-j" ist. Dan D. vor 12 Jahren 0
4
petergozz

Ich habe mich gefragt, ob es einen Unterschied zwischen der Verwendung von tar zum Erstellen des Archivs und der Verwendung von bzip2 gab.

Bzip2 ist ein Komprimierungswerkzeug ... und ein sehr gutes.

tar ist ein Archivierungs- (Speicher-) Werkzeug ... vielleicht das erfolgreichste und robusteste.

Warum auch zwei Dinge haben, die dasselbe tun?

Nun, teer geht vor bzip und ich denke sogar den Original-Reißverschluss.

Sie tun nur in einigen begrenzten Fällen dasselbe.

Vielleicht verstehen Sie nicht, worum es bei Teer geht?

Tar dient zur Archivierung (Tape Archiver) und komprimiert nicht nur einen Globus von Dateien.

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

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

Es ist ein klassisches Werkzeug, das sich in der weit entfernten heroischen Vergangenheit entwickelt hat, als 64K viel Speicher und Streaming (Zeichen für Zeichen) basierende Speicherung eine Norm war. (wie Magnetbänder).

tar kann zum Beispiel einem (nominell menschlichen) Bediener den Befehl erteilen, die Bänder zu wechseln oder auf viele Meter "Band" vorwärts / rückwärts in den richtigen Bereich und die richtige Position zu spulen.

Alle diese Funktionen sind immer noch nützlich, auch wenn die eigentliche Hardware schon lange nicht mehr vorhanden ist und die Konzepte verwendet werden. Besonders in der Sicherungswelt.

Im Allgemeinen kennt es die Struktur und den Status eines archivierten Dateisystems und kann es mehr oder weniger wie ein reales Live-Dateisystem ändern oder daraus lesen. (was natürlich ist es aber komprimiert, aufgenommen / registriert und irgendwo weggepirrt)

rsync hat einiges (viel) seiner Funktionalität, aber mit ausgeklügelten Algorithmen rund um die Unterschiede.

siehe auch pax.

Bzip ist ein brillantes Werkzeug und kann in den meisten Fällen stärker komprimiert werden als zip / gzip.

Es ist effizient und ziemlich robust, als universelles Komprimierungswerkzeug. Der Fokus liegt auf Kompression.

Im Laufe der Zeit wurden komprimierte Dateien Archive genannt, da sie den meisten von ihnen gemeinsam sind.

Ach ja, und schließlich hat tar auch eine native (abrollbare) Kompression. Sie verwenden die Option -z oder -j, um stattdessen diesen bestimmten Kompressionsalgorithmus zu verwenden. (hmm oder vielleicht auch?)

schlagen Sie die Manpages auf gzip tar bzip2 pax rsync :)

Durchsuchen der Tar-Dokumente sollte Ihnen die Idee vermitteln.

-1
ZaB

tar cf - dateifeld datei dir cat list| compress> file.tar.Z komprimiert -d file.tar.Z | Teer tvf -

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

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

1) Ihr Befehl funktioniert nicht. Ich werde dir nicht sagen warum, denn ich habe es dir schon mehrmals gezeigt. 2) Sie beantworten die Frage nicht. slhck vor 12 Jahren 0