Que software de compactação de arquivos para linux oferece a maior redução de tamanho? [fechadas]

47

Eu faço uma tonelada de compressão de arquivos. A maioria das coisas que estou compactando é apenas código, então eu preciso usar menos perda de compactação. Eu queria saber se havia algo que oferecesse uma redução de tamanho melhor que 7zip. Não importa quanto tempo demore para comprimir ou descomprimir, o tamanho é tudo o que importa. Alguém sabe de um software como este no Linux? Ou o 7zip é o melhor?

    
por Zach 05.06.2013 / 05:13

5 respostas

35

7zip é mais um compactador (como o PKZIP) que um compressor. Está disponível para Linux, mas só pode criar arquivos compactados em arquivos regulares, não é capaz de compactar um fluxo, por exemplo. Não é possível armazenar a maioria dos atributos de arquivo do Unix, como propriedade, ACLs, atributos estendidos, hard links ...

No Linux, como compressor , você tem xz que usa o mesmo algoritmo de compressão que 7zip (LZMA2). Você pode usá-lo para comprimir arquivos tar.

Assim como para gzip e bzip2 , há uma variável paralela pixz que pode aproveitar vários processadores para acelerar a compactação ( xz também pode fazer isso nativamente desde a versão 5.2. 0 com a opção -T ). O pixz variant também suporta indexação um compactado tar archive, o que significa que é capaz de extrair um único arquivo sem precisar descompactar o arquivo desde o início.

    
por 05.06.2013 / 09:18
57

lrzip é o que você está realmente procurando para, especialmente se você estiver compactando o código-fonte!

Citando o README:

This is a compression program optimised for large files. The larger the file and the more memory you have, the better the compression advantage this will provide, especially once the files are larger than 100MB. The advantage can be chosen to be either size (much smaller than bzip2) or speed (much faster than bzip2). [...]The unique feature of lrzip is that it tries to make the most of the available ram in your system at all times for maximum benefit.

O lrzip trabalha primeiro procurando e removendo qualquer redundância de dados de longa distância com um algoritmo baseado em rzip, então comprimindo os dados não-redundantes.

O Con Kolivas fornece um fantástico exemplo na Lista de Discussão do Kernel do Linux ; em que ele comprime um tarball de 10,3 GB de quarenta versões do Linux Kernel até 163.9MB (1.6%), e o faz mais rápido que xz. Ele nem estava usando o algoritmo de segunda passagem mais agressivo!

Tenho certeza de que você terá ótimos resultados ao compactar compactos tarballs do código-fonte :)

sudo apt-get install lrzip

Exemplo (usando o padrão para outras opções):

Ultra compressão, cão lento:

lrzip -z file

Para pastas, basta alterar lrzip para lrztar

    
por 13.03.2014 / 03:31
5

Se você está buscando a maior redução de tamanho, independentemente da velocidade de compactação, LZMA é provavelmente sua melhor opção.

Ao comparar as várias compressões, geralmente a troca é tempo versus tamanho. gzip tende a comprimir e descomprimir de forma relativamente rápida enquanto produz uma boa taxa de compressão. bzip2 é um pouco mais lento que gzip no tempo de compactação e descompressão, mas gera taxas de compactação ainda maiores. LZMA tem o maior tempo de compactação, mas produz as melhores taxas, além de ter uma taxa de descompressão superior a bzip2 .

Fontes: link

link

    
por 05.06.2013 / 09:24
2

(resposta atualizada) Se o tempo não importa, use ZPAQ v1.10 (ou mais recente) ex .:
zpaq pvc/usr/share/doc/zpaq/examples/max.cfg file.zpaq file.tar (o local do arquivo max.cfg pode variar, verifique a lista de arquivos do pacote instalado)

zpaq na verdade compactou mais de kgb -9 newFileName.kgb yourFileName.tar .
Isso é baseado no antigo algoritmo PAQ6 , e é muito lento ...
Eu testei com todos os outros compressores como 7zip, lrzip, bzip2, kgb .. e zpaq comprimido mais!

Se kgb ainda lhe interessar: (como foi minha escolha inicial nesta resposta, então estou mantendo as informações aqui)
O Ubuntu 14.04 tem kgb 1.0b4 , execute sudo apt-get install kgb para instalá-lo.

Abaixo está uma versão do windows que você pode tentar executar / compilar kgb no linux, mas eu não consegui.
A versão 2 beta2 pode ser encontrada em SourceForge , mas não há binários do Linux disponíveis. Você pode tentar executá-lo no console com wine kgb2_console.exe -a7 -m9 (o método -a6 -m9 parece ser equivalente ao melhor método em 1.0b4, -a7 é novo em 2 beta2). Embora eu tenha melhor estabilidade instalando o .NET 2.0 com winetricks e executando wine "KGB Archiver 2 .net.exe" (eu não gosto de fazer isso , então eu vou ficar com o nativo do Linux 1.0b4 que tem quase o mesmo resultado que o 2 beta2). De qualquer forma, a versão 2 beta2 seriamente merece uma versão nativa do Linux também! Talvez algo possa ser feito com o MinGW, veja este , mas este comando ainda falha mal: %código%. Pode tentar compilar com i586-mingw32msvc-g++ kgb2_console.cpp -o kgb (Mono)? veja esta dica .

    
por 14.11.2014 / 17:17
2

O 7zip não é uma tecnologia única, mas suporta vários métodos de compressão diferentes (veja a wikipedia 7z sobre isso).

Um conjunto de testes foi realizado com diferentes ferramentas especialmente para arquivos de origem C. Não tenho certeza de quais ferramentas existem para o Linux, se elas ainda existirem. No entanto, você pode notar que o melhor algoritmo foi o PPM com modificações (PPMII, depois PPMZ). Espero que isso ajude.

Se você estiver interessado nas ferramentas, pode navegar no site, em russo, mas o google translate pode ajudar. Existe um grande depósito de binários , que você pode usar (ou não poderá) do Linux com vinho, se for realmente necessário.

    
por 10.11.2014 / 00:07