Comment définir le niveau de compression 7z en utilisant l'interface graphique dans Ubuntu?


14

Archive Manager, ou file-roller, ne semble pas avoir la possibilité de définir le niveau de compression des 7zfichiers.

entrez la description de l'image ici

Cependant, le client Windows 7-zip a une option pour le faire en utilisant GUI -

entrez la description de l'image ici

Sur Ubuntu / Linux, on peut définir le niveau de compression dans la ligne de commande (CLI) en utilisant l' -mindicateur. Pour plus de détails, reportez-vous à cette réponse .

Existe-t-il une disposition pour définir le niveau de compression des 7zarchives à l'aide de l'interface graphique dans Ubuntu?


Au meilleur de ma connaissance, il utilise le ultraniveau, par défaut!
blade19899

@ blade19899 Le niveau par défaut est 5 (Normal)
Rohith Madhavan

Tu m'as instruit. La seule option consiste à utiliser la version en ligne de commande. Et soumettez une demande de fonctionnalité! Au meilleur de ma connaissance :)
blade19899

Je pense que c'est à peu près le même algorithme que xz utilise normalement, et les niveaux de compression plus élevés pourraient nécessiter "plusieurs gigaoctets" de ram (ainsi dit man xz) - Ce n'est pas comme zip où spécifier "max" tout le temps est la meilleure idée.
Xen2050

Cela dépend de la taille des fichiers à archiver. Pour des raisons pratiques, l'exigence de RAM n'est pas vraiment un problème.
Rohith Madhavan

Réponses:


16

Mon idée était de trouver un indice dans la liste des fichiers des paquets ou dans gconf, mais je n'ai pas eu de chance. Mais quelqu'un d'autre connaissait la réponse.

Superutilisateur: modifier les niveaux de compression par défaut pour le rouleau de fichiers?

Soit:

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

Ou:

$ dconf-editor
  1. Sélectionnez orgdans le volet gauche.
  2. Sélectionnez gnomedans le volet gauche.
  3. Sélectionnez file-rollerdans le volet gauche.
  4. Sélectionnez generaldans le volet gauche.
  5. Sélectionnez compression-leveldans le volet droit.
  6. Réglez compression-levelsur 'maximum'.

Malheureusement, vous ne pouvez pas affiner ce paramètre pour différents programmes de compression. Si vous voulez toute la liberté, vous pouvez utiliser votre shell à la place.

Image de l'éditeur dconf avec le niveau de compression du rouleau de fichiers réglé au maximum. .

Cette réponse n'avait auparavant aucun vote positif, j'ai donc vérifié si cela avait un effet et choisi de compresser certains documents avec les paramètres par défaut et avec les paramètres maximum (type 7z). Résultat: amélioration de 2,3 Ko sur une archive de ~ 300 Ko.

Mise en garde:

  • Selon le contenu, cela peut avoir un impact négatif pour tout compresser avec LZMA / LZMA2 au niveau maximum. Les fichiers PNG par exemple sont déjà compressés avec Deflate et ne gagneront pas beaucoup à la compression. Il serait plus logique de les optimiser avec PNGOUT / OptiPNG, Zopfli , puis de les archiver avec LZ4 , accélérant ainsi la décompression des archives et réduisant la taille des fichiers.

J'ai essayé d'en savoir plus à travers la page de manuel et le manuel d'utilisation des rouleaux de fichiers , toujours pas de chance. Ensuite, j'ai téléchargé le paquet source et recherché "maximum" dans fr-command-7z.c(notez comment j'évite de dire que j'ai lu la source), ce qui m'a donné ce qui suit:

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

C'est aussi loin que je peux obtenir actuellement, il semble qu'il n'y ait pas de réglage ultra.


1
Bien que la méthode suggérée puisse améliorer les niveaux de compression, elle nécessite que l'utilisateur modifie les valeurs dans l'éditeur dconf chaque fois qu'un niveau différent est requis. Existe-t-il une méthode où les niveaux de compression sont sélectionnés dynamiquement?
Rohith Madhavan

+1 pour la réponse. Bien qu'il ne résout pas exactement le problème, il fournit une solution alternative.
Rohith Madhavan

@RohithMadhavan Je comprends ce que tu veux dire. J'essaie de ne blâmer personne ici, mais je pense que c'est ainsi que les applications Gnome par défaut sont censées fonctionner: vous pouvez activer les fonctionnalités cachées mais vous ne trouverez pas beaucoup de cases à cocher et de menus déroulants.
LiveWireBT

Je suppose que tu as raison. Je peux essayer de déposer une demande de fonctionnalité, peut-être pour être incluse dans les options avancées. Merci :-)
Rohith Madhavan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.