¿Es posible comprimir un archivo muy grande (~ 30 GB) usando gzip?

17

¿Es posible comprimir un archivo muy grande (~ 30 GB) usando gzip? Si es así, ¿qué comandos, interruptores y opciones debo usar?

¿O hay otro programa (preferiblemente uno comúnmente disponible en las distribuciones de Ubuntu) que pueda usar para comprimir / comprimir archivos muy grandes? ¿Tienes alguna experiencia con esto?

Andrés
fuente
La mayoría del compresor hardcore es xz, o su versión paralela, pxz. pxz -9ve - <in >out.xzy hornearás un pollo en tu PC, pero el resultado será alrededor del 60% del resultado de gzip. Necesitas alrededor de 7 GB para eso.
peterh - Restablece a Monica

Respuestas:

22

AFAIK no hay límite de tamaño para gzip, al menos, no 30GB. Por supuesto, necesita el espacio para el archivo comprimido en su disco, ambas versiones estarán allí simultáneamente durante la compresión.

bzip2 comprime archivos (no solo los grandes :-) mejor, pero es (a veces mucho) más lento.

Oh no
fuente
44
bzip2 es especialmente bueno para comprimir el código fuente (y similares). También es un buen competidor para gzip para uso genérico. La disponibilidad para gzip en diferentes sistemas operativos es mejor que bzip2
jippie
¿Es bzip2 compresión sin pérdidas? Gracias.
Andrew
3
@ Andrew Sí, gzip / bzip2 / etc ... no tienen pérdidas.
Renan
1
Y también existe pbzip, que utilizará más de un núcleo de CPU. Pero aún así mucho más lento que gzip.
Nils
1
@Nils: en mi Ubuntu solo haypbzip2
rubo77
8

Si necesita una buena tasa de compresión, puede probar lzma. es más rápido y más eficiente que bzip2 y puede ser más rápido incluso que gzip (no lo sé con certeza)

http://www.thegeekstuff.com/2010/06/lzma-better-compression-than-bzip2-on-unix-linux/

fromnaboo
fuente
44
lzmaestá en desuso a favor de xzahora. Mismo algoritmo, formato de archivo algo diferente (¿mejorado?) Envuelto alrededor de él. LZMA es más lento que gzip, pero a velocidad máxima sigue siendo una compresión bastante buena en cosas muy redundantes como los datos JSON. ( xz -0)
Peter Cordes
3

Si está llegando al límite, reorganice. En lugar de:

gzip file

hacer:

gzip < file > file.gz

Funciona bien

Joshua
fuente
2

El formato gzip representa el módulo de tamaño de entrada 2 ^ 32, por lo que la --listopción informa tamaños de compresión y relaciones de compresión incorrectas para archivos sin comprimir de 4 GB y mayores.

Entonces, tome bzip2(v1.0.2 y hacia arriba) o xz.

cuneiforme
fuente
Si solo debe ser precisamente gzip, entonces su archivo debe dividirse en partes más pequeñas de hasta 4 Gb cada una.
cuneiforme
Hay divisores de archivos disponibles para esto.
Vérace
Bueno, no tiene que dividirse, es solo que los tamaños informados serán incorrectos.
Ley29
2

XZ ajustado a la compresión más baja bien puede vencer a gzip para velocidad y compresión.

Peter Shannon
fuente