Lösung 1:
export BZIP=--fast
tar cjf foo.tar.bz2 foo
Oder leiten Sie die Ausgabe von tar
weiter bis bzip2
.
Beachten Sie jedoch Folgendes auf der bzip2-Manpage:
-1 (or --fast) to -9 (or --best) Set the block size to 100 k, 200 k .. 900 k when compressing. Has no effect when decompressing. See MEMORY MANAGEMENT below. The --fast and --best aliases are primarily for GNU gzip compat- ibility. In particular, --fast doesn't make things signifi- cantly faster. And --best merely selects the default behaviour.
Lösung 2:
tar -cjf dir.tar.bz2 --options bzip2:compression-level=9 path/to/dir/
Lösung 3:
bzip2
Blockgrößen
bzip2
hat einige Blockgrößenoptionen. Von der Handbuchseite bzip2(1)
:
-1 (or --fast) to -9 (or --best)
Set the block size to 100 k, 200 k .. 900 k when compressing.
Has no effect when decompressing. See MEMORY MANAGEMENT below.
The --fast and --best aliases are primarily for GNU gzip
compatibility. In particular, --fast doesn't make things
significantly faster. And --best merely selects the default
behaviour.
Wenn Sie eine schnellere Komprimierung mit weniger Rücksicht auf das Komprimierungsverhältnis wünschen, verwenden Sie bzip2
, du scheinst die -1
zu wollen (oder --fast
)-Option.
Einstellung bzip2
Blockgröße bei Verwendung von tar
Sie können bzip2
einstellen Blockgröße bei Verwendung von tar
in mehrfacher Hinsicht.
Der UNlX-Weg
Mein Lieblingsweg, der UNlX-Weg, ist einer, bei dem Sie jedes Werkzeug unabhängig voneinander verwenden und sie durch Pipes kombinieren.
$ tar --create [FILE...] | bzip2 -1 > [ARCHIVE].tar.bz2
Sie können das lesen als „erstelle .tar mit tar
-> mit bzip2
komprimieren -> in [ARCHIVE].tar.bz2
schreiben ".
Umgebungsvariable
Es ist auch möglich, bzip2
einzustellen Optionen über die Umgebungsvariable BZIP2
. Aus der Handbuchseite bzip2(1)
:
bzip2 will read arguments from the environment variables BZIP2 and BZIP,
in that order, and will process them before any arguments read from the
command line. This gives a convenient way to supply default arguments.
Um das also mit tar
zu verwenden , könnten Sie zum Beispiel Folgendes tun:
$ BZIP2=-1 tar --create --bzip2 --file [ARCHIVE].tar.bz2 [FILE...]
Schnellere Alternativen
bzip2
verwendet einen langsamen Komprimierungsalgorithmus. Wenn Sie Bedenken hinsichtlich der Geschwindigkeit haben, können Sie alternative Algorithmen untersuchen, wie z. B. die von gzip
verwendeten oder lzop
. Hier ist ein netter Artikel, der Komprimierungstools vergleicht:https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/