Soluzione 1:
export BZIP=--fast
tar cjf foo.tar.bz2 foo
Oppure reindirizza l'output di tar
a bzip2
.
Anche se dovresti notare dalla pagina man di bzip2:
-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.
Soluzione 2:
tar -cjf dir.tar.bz2 --options bzip2:compression-level=9 path/to/dir/
Soluzione 3:
bzip2
dimensioni dei blocchi
bzip2
ha alcune opzioni di dimensione del blocco. Dalla pagina di manuale 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.
Dato che vuoi una compressione più veloce con meno riguardo al rapporto di compressione, usa bzip2
, sembra che tu voglia il -1
(o --fast
) opzione.
Impostazione bzip2
dimensione del blocco quando si utilizza tar
Puoi impostare bzip2
dimensione del blocco quando si usa tar
in un paio di modi.
Il metodo UNlX
Il mio modo preferito, il modo UNlX, è quello in cui usi ogni strumento in modo indipendente e li combini tramite pipe.
$ tar --create [FILE...] | bzip2 -1 > [ARCHIVE].tar.bz2
Puoi leggerlo come "crea .tar con tar
-> zippalo con bzip2
-> scrivilo in [ARCHIVE].tar.bz2
".
Variabile d'ambiente
È anche possibile impostare bzip2
opzioni tramite la variabile d'ambiente BZIP2
. Dalla pagina di manuale 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.
Quindi, per usarlo con tar
, potresti ad esempio fare:
$ BZIP2=-1 tar --create --bzip2 --file [ARCHIVE].tar.bz2 [FILE...]
Alternative più veloci
bzip2
utilizza un algoritmo di compressione lenta. Se sei preoccupato per la velocità, potresti esaminare algoritmi alternativi, come quelli usati da gzip
o lzop
. Ecco un bell'articolo che confronta gli strumenti di compressione:https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/