Come impostare il livello di compressione 7z usando la GUI in Ubuntu?


14

Archive Manager, o file-roller, non sembra avere l'opzione per impostare il livello di compressione per i 7zfile.

inserisci qui la descrizione dell'immagine

Tuttavia, il client Windows 7-zip ha un'opzione per farlo utilizzando la GUI:

inserisci qui la descrizione dell'immagine

Su Ubuntu / Linux, è possibile impostare il livello di compressione nella riga di comando (CLI) usando il -mflag. Per i dettagli, consultare questa risposta .

Esistono disposizioni per l'impostazione del livello di compressione per gli 7zarchivi che utilizzano la GUI in Ubuntu?


Per quanto ne so, utilizza il ultralivello, per impostazione predefinita!
blade19899

@ blade19899 Il livello predefinito è 5 (Normale)
Rohith Madhavan il

Mi hai insegnato. L'unica opzione è utilizzare la versione da riga di comando. E invia una richiesta di funzionalità! Per quanto ne
so

Penso che si tratti dello stesso algoritmo normalmente utilizzato da xz e che livelli di compressione più elevati potrebbero richiedere "diversi gigabyte" di RAM (così dice man xz) - Non è come zip dove specificare "max" in ogni momento è l'idea migliore.
Xen2050,

Dipende dalle dimensioni dei file da archiviare. Ai fini pratici, il requisito di RAM non è un grosso problema.
Rohith Madhavan,

Risposte:


16

La mia idea era quella di trovare qualche suggerimento nella lista dei file dei pacchetti o in gconf, ma non ho avuto fortuna. Qualcun altro conosceva la risposta però.

Superutente: modificare i livelli di compressione predefiniti per il file-roller?

O:

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

O:

$ dconf-editor
  1. Seleziona orgnel riquadro di sinistra.
  2. Seleziona gnomenel riquadro di sinistra.
  3. Seleziona file-rollernel riquadro di sinistra.
  4. Seleziona generalnel riquadro di sinistra.
  5. Seleziona compression-levelnel riquadro a destra.
  6. Impostare compression-levelsu 'maximum'.

Sfortunatamente, non è possibile ottimizzare questa impostazione per diversi programmi di compressione. Se vuoi tutta la libertà, puoi usare invece la tua shell.

Immagine dell'editor dconf con il livello di compressione del rullo dei file impostato al massimo. .

Quella risposta in precedenza non aveva voti positivi, quindi ho verificato se questo ha qualche effetto e ho scelto di comprimere alcuni documenti con le impostazioni predefinite e con le impostazioni massime (tipo 7z). Risultato: miglioramento di 2,3 KB su un archivio di ~ 300 KB.

Attenzione:

  • A seconda del contenuto, può avere un impatto negativo nel comprimere tutto con LZMA / LZMA2 al massimo livello. I PNG, ad esempio, sono già compressi con Deflate e non guadagneranno molto dalla compressione. Avrebbe più senso ottimizzarli con PNGOUT / OptiPNG, Zopfli e quindi archiviarli con LZ4 , ottenendo una decompressione dell'archivio più rapida e riducendo le dimensioni del file.

Ho cercato di saperne di più attraverso la manpage dei file-roller e il manuale utente , ancora senza fortuna. Quindi ho scaricato il pacchetto sorgente e cercato "maximum" in fr-command-7z.c(nota come evito di dire che ho letto il sorgente), che mi ha dato quanto segue:

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;
}

Per quanto posso attualmente ottenere, sembra che non ci siano impostazioni ultra.


1
Sebbene il metodo suggerito possa migliorare i livelli di compressione, richiede all'utente di modificare i valori nell'editor dconf ogni volta che è richiesto un livello diverso. Esiste un metodo in cui i livelli di compressione sono selezionati in modo dinamico?
Rohith Madhavan,

+1 per la risposta. Sebbene non risolva esattamente il problema, offre una soluzione alternativa.
Rohith Madhavan,

@RohithMadhavan Capisco cosa intendi. Sto cercando di non dare la colpa a nessuno qui, ma penso che sia così che le applicazioni Gnome predefinite sono destinate a funzionare: puoi abilitare le funzioni nascoste ma non troverai molte caselle di controllo e menu a discesa.
LiveWireBT

Credo che tu abbia ragione. Potrei provare a presentare una richiesta di funzionalità, magari da includere in opzioni avanzate. Grazie :-)
Rohith Madhavan il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.