Como definir o nível de compactação 7z usando a GUI no Ubuntu?

14

O Archive Manager, ou file-roller, parece não ter a opção de definir o nível de compactação dos 7zarquivos.

insira a descrição da imagem aqui

No entanto, o cliente Windows 7-zip tem uma opção para fazer isso usando a GUI -

insira a descrição da imagem aqui

No Ubuntu / Linux, é possível definir o nível de compactação na linha de comando (CLI) usando o -msinalizador. Para detalhes, consulte esta resposta .

Existe alguma disposição para definir o nível de compactação para 7zarquivos usando GUI no Ubuntu?

Rohith Madhavan
fonte
Que eu saiba, ele usa o ultranível, por padrão!
blade19899
@ blade19899 O nível padrão é 5 (Normal)
Rohith Madhavan
Você me educou. A única opção é usar a versão da linha de comandos. E envie uma solicitação de recurso! Para o melhor de meu conhecimento :)
blade19899
Eu acho que é sobre o mesmo algoritmo que o xz normalmente usa, e os níveis mais altos de compactação podem exigir "vários gigabytes" de memória ram (assim diz man xz) - Não é como zip onde especificar "max" o tempo todo é a melhor idéia.
Xen2050
Isso depende do tamanho dos arquivos a serem arquivados. Para fins práticos, o requisito de RAM não é um problema.
Rohith Madhavan

Respostas:

16

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

Superusuário: Alterar os níveis de compactação padrão para o rolo de arquivo?

Ou:

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

Ou:

$ dconf-editor
  1. Selecione orgno painel esquerdo.
  2. Selecione gnomeno painel esquerdo.
  3. Selecione file-rollerno painel esquerdo.
  4. Selecione generalno painel esquerdo.
  5. Selecione compression-levelno painel direito.
  6. Defina compression-levelcomo 'maximum'.

Infelizmente, você não pode ajustar essa configuração para diferentes programas de compactação. Se você quiser toda a liberdade, poderá usar seu shell.

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

Essa resposta anteriormente não tinha votos positivos, então verifiquei se isso tinha algum efeito e optei por compactar alguns documentos com as configurações padrão e com as configurações máximas (tipo 7z). Resultado: melhoria de 2,3 KB em um arquivo ~ 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 ganharão muito com a compactação. Faria mais sentido otimizá-los com PNGOUT / OptiPNG, Zopfli e depois arquivá-los com LZ4 , obtendo uma descompressão de arquivo mais rápida e reduzindo o tamanho do arquivo.

Tentei saber mais através de arquivo roladores manpage e manual do usuário , ainda não sorte. Em seguida, baixei o pacote de origem e procurei "maximum" em fr-command-7z.c(observe como evito dizer que li 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 posso entender atualmente, parece que não há uma configuração ultra.

LiveWireBT
fonte
1
Embora o método sugerido possa melhorar os níveis de compactação, ele exige que o usuário altere valores no dconf-editor cada vez que um nível diferente é necessário. Existe algum método em que os níveis de compactação são selecionados dinamicamente?
Rohith Madhavan
+1 para a resposta. Embora não resolva exatamente o problema, ele fornece uma solução alternativa.
Rohith Madhavan
@RohithMadhavan Entendo o que você quer dizer. Estou tentando não culpar ninguém aqui, mas acho que é assim que os aplicativos Gnome padrão devem funcionar: você pode ativar os recursos ocultos, mas não encontrará muitas caixas de seleção e menus suspensos.
LiveWireBT
Acho que você está certo. Eu posso tentar registrar uma solicitação de recurso, talvez para ser incluída em opções avançadas. Obrigado :-)
Rohith Madhavan