Defina o nível de compactação 7z usando a GUI no Ubuntu

13

O Gerenciador de arquivamento, ou file-roller , parece não ter a opção de definir o nível de compactação para 7z arquivos.

No entanto, o cliente do windows 7-zip tem a opção de fazer isso usando a GUI -

No Ubuntu / Linux, pode-se definir o nível de compressão na linha de comando (CLI) usando o -m flag. Para detalhes, consulte esta resposta .

Existe alguma provisão para definir o nível de compressão para 7z archives usando GUI no Ubuntu?

    
por Rohith Madhavan 17.12.2014 / 15:43

1 resposta

16

Minha idéia era encontrar alguma dica na listagem de arquivos dos pacotes ou no gconf, mas não tive sorte. Alguém mais sabia a resposta.

Superusuário: Alterar os níveis de compactação padrão para o file-roller?

  

Ou:

$ dconf write /org/gnome/file-roller/general/compression-level "'maximum'"
     

Ou:

$ dconf-editor
     
  1. Selecione org no painel esquerdo.
  2.   
  3. Selecione gnome no painel esquerdo.
  4.   
  5. Selecione file-roller no painel esquerdo.
  6.   
  7. Selecione general no painel esquerdo.
  8.   
  9. Selecione compression-level no painel direito.
  10.   
  11. Defina compression-level para 'maximum' .
  12.   

Infelizmente, não é possível ajustar essa configuração para diferentes   programas de compressão. Se você quer toda a liberdade, você pode usar o seu   shell em vez disso.

     

Imagem do editor dconf com o nível de compactação do rolo de arquivo definido como   máximo. .

Essa resposta anteriormente não tinha upvotes, então eu verifiquei se isso tem algum efeito e escolho compactar alguns documentos com as configurações padrão e com configurações máximas (tipo 7z). Resultado: melhoria de 2,3 KB em um arquivo de ~ 300 KB.

Cuidado:

  • Dependendo do conteúdo, pode ter um impacto negativo para compactar tudo com o LZMA / LZMA2 no nível máximo. Os PNGs, por exemplo, já estão compactados com Deflate e não ganham muito com a compactação. Seria mais sensato otimizá-los com PNGOUT / OptiPNG, Zopfli e, em seguida, arquivá-los com LZ4 , obtendo descompactação de arquivo mais rápida e reduzindo o tamanho do arquivo.

Eu tentei descobrir mais por meio do manpage e do manual do usuário , ainda sem sorte . Então baixei o pacote fonte e procurei por "máximo" em fr-command-7z.c (note como eu evito dizer que eu leio a fonte), o que me deu o seguinte:

switch (archive->compression) {
case FR_COMPRESSION_VERY_FAST:
    fr_process_add_arg (command->process, "-mx=1");
    break;
case FR_COMPRESSION_FAST:
    fr_process_add_arg (command->process, "-mx=5");
    break;
case FR_COMPRESSION_NORMAL:
    fr_process_add_arg (command->process, "-mx=7");
    break;
case FR_COMPRESSION_MAXIMUM:
    fr_process_add_arg (command->process, "-mx=9");
    if (! _g_mime_type_matches (archive->mime_type, "application/zip")
        && ! _g_mime_type_matches (archive->mime_type, "application/x-cbz"))
    {
        fr_process_add_arg (command->process, "-m0=lzma2");;
    }
    break;
}

Isso é o máximo que eu posso conseguir atualmente, parece que não há ultra configuração.

    
por LiveWireBT 18.12.2014 / 00:18