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
- Selecione
org
no painel esquerdo.- Selecione
gnome
no painel esquerdo.- Selecione
file-roller
no painel esquerdo.- Selecione
general
no painel esquerdo.- Selecione
compression-level
no painel direito.- Defina
compression-level
para'maximum'
.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.