É 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?


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.


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/


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.


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.


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.