Solución 1:
export BZIP=--fast
tar cjf foo.tar.bz2 foo
O canalice la salida de tar
a bzip2
.
Aunque debe tener en cuenta en la página de manual de 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.
Solución 2:
tar -cjf dir.tar.bz2 --options bzip2:compression-level=9 path/to/dir/
Solución 3:
bzip2
tamaños de bloque
bzip2
tiene algunas opciones de tamaño de bloque. Desde la página del manual 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.
Como desea una compresión más rápida con menos relación de compresión, use bzip2
, parece que quieres el -1
(o --fast
) opción.
Configuración bzip2
tamaño de bloque cuando se usa tar
Puede configurar bzip2
tamaño de bloque cuando se usa tar
en un par de formas.
Al estilo UNlX
Mi forma favorita, la forma UNlX, es aquella en la que usa cada herramienta de forma independiente y las combina a través de tuberías.
$ tar --create [FILE...] | bzip2 -1 > [ARCHIVE].tar.bz2
Puede leerlo como "crear .tar con tar
-> comprímalo con bzip2
-> escribirlo en [ARCHIVE].tar.bz2
".
Variable de entorno
También es posible configurar bzip2
opciones a través de la variable de entorno BZIP2
. Desde la página del manual 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.
Entonces, para usar eso con tar
, podría, por ejemplo, hacer:
$ BZIP2=-1 tar --create --bzip2 --file [ARCHIVE].tar.bz2 [FILE...]
Alternativas más rápidas
bzip2
utiliza un algoritmo de compresión lenta. Si le preocupa la velocidad, puede investigar algoritmos alternativos, como los utilizados por gzip
o lzop
. Aquí hay un buen artículo que compara las herramientas de compresión:https://aliver.wordpress.com/2010/06/22/huge-unix-file-compresser-shootout-with-tons-of-datagraphs/