É possível compactar um arquivo muito grande (~ 30 GB) usando o gzip?

17

É possível compactar um arquivo muito grande (~ 30 GB) usando o gzip? Em caso afirmativo, quais comandos, opções e opções devo usar?

Ou existe outro programa (de preferência um normalmente disponível nas distribuições do Ubuntu) que eu possa usar para compactar / compactar arquivos muito grandes? Você tem alguma experiência com isso?

Andrew
fonte
A maioria dos compressores hardcore é xz, ou sua versão paralela, pxz. pxz -9ve - <in >out.xze você assará uma galinha no seu PC, mas o resultado será de cerca de 60% do resultado do gzip. Você precisa de cerca de 7 GB para isso.
peterh - Restabelece Monica 8/17

Respostas:

22

AFAIK não há limite de tamanho para gzip- pelo menos, 30 GB. Obviamente, você precisa do espaço para o arquivo compactado no disco, as duas versões estarão disponíveis simultaneamente durante a compactação.

bzip2 comprime arquivos (não apenas os grandes :-) melhor, mas é (às vezes muito) mais lento.

Ah não
fonte
4
O bzip2 é especialmente bom em compactar código fonte (e similares). É um bom concorrente fazer o gzip para uso genérico também. Disponibilidade para gzip em diferentes sistemas operacionais é melhor do que bzip2
jippie
A compressão bzip2 é sem perdas? Obrigado.
Andrew
3
@ Andrew Sim, gzip / bzip2 / etc ... são todos sem perdas.
Renan
11
E também existe pbzip- que usará mais de um núcleo de CPU. Mas ainda muito mais lento que gzip.
Nils
11
@Nils: no meu Ubuntu há apenaspbzip2
rubo77
8

se você precisar de uma boa taxa de compressão, tente lzma. é mais rápido e mais eficiente que o bzip2 e pode ser mais rápido que o gzip (não sei ao certo)

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

fromnaboo
fonte
4
lzmaestá obsoleto em favor do xzagora. O mesmo algoritmo, um formato de arquivo um pouco diferente (aprimorado?) Envolvido nele. O LZMA é mais lento que o gzip, mas na velocidade máxima ainda é uma compressão bastante boa em itens altamente redundantes, como dados JSON. ( xz -0)
Peter Cordes
3

Se você estiver executando o limite, reorganize. Ao invés de:

gzip file

Faz:

gzip < file > file.gz

Funciona muito bem.

Joshua
fonte
2

O formato gzip representa o tamanho do módulo de entrada 2 ^ 32, portanto, a --listopção relata tamanhos incorretos e taxas de compactação incorretos para arquivos não compactados com 4 GB ou mais.

Então, pegue bzip2(v1.0.2 e superior) ou xz.

cuneiforme
fonte
Se for precisamente apenas com gzip, seu arquivo deverá ser dividido em partes menores de até 4 Gb cada.
Cuneiform #
Existem divisores de arquivos disponíveis para isso.
Vérace 22/03
Bem, não precisa ser dividido, apenas os tamanhos relatados estarão errados.
Law29
2

O XZ definido para a compactação mais baixa pode superar o gzip em termos de velocidade e compactação.

Peter Shannon
fonte