Taxa de compactação zip / gzip muito menor no Linux do que no Windows

2

Eu tenho um monte de arquivos muito grandes localizados em uma máquina Linux que eu gostaria de comprimir e economizar espaço. Eu tentei usar a combinação tar / gzip e notei que a taxa de compactação não é muito boa. Um arquivo 1.2GB foi compactado em um arquivo 1.1GB . Eu tentei aumentar o nível de compressão como sugerido aqui: How especificar o nível de compactação ao usar tar -zcvf?

mas ainda não foi melhor. Copiei o mesmo arquivo para uma máquina Windows e executei o WinRar nele. O arquivo compactado resultante tinha apenas 0.45GB em tamanho.

Existe algum motivo para tamanha discrepância? Existe uma ferramenta de compactação melhor para o Linux?

ATUALIZAÇÃO: Eu até tentei lzma e ainda não muito melhor

    
por ryuusenshi 13.07.2012 / 15:25

1 resposta

3

O Gzip não é um algoritmo muito bom comparado a Rar .

Um método mais comum para o Linux nos dias de hoje é o bzip2 que é instalado por padrão em quase todas as distribuições Linux.

Você pode alternar o tar archiver para usar a compactação bzip2 alterando sua linha de comando para tar -cvjf em vez de tar -cvzf , sendo a chave a substituição do z por j nas opções.

Isso deve render um bom aumento na taxa de compressão.

O motivo da discrepância é porque eles são algoritmos fundamentalmente diferentes para compactação. O gzip é um algoritmo mais antigo e algoritmos mais antigos tendem a ser menos intensivos em termos computacionais, para que terminem em um tempo razoável. Este é um efeito do poder de processamento mais prontamente disponível, algoritmos melhores e mais intensivos em computação podem ser usados que terminam em um tempo similar ao de um algoritmo antigo em um computador mais antigo. Por outro lado, os algoritmos mais antigos concluirão a compactação muito mais rapidamente em um computador mais novo.

Quase qualquer arquivador do Windows tem um equivalente no Linux. O 7zip é um bom arquivador que obtém bons resultados no Windows e tem uma versão não oficial do Linux.

    
por 13.07.2012 / 15:45