在Ubuntu中使用GUI设置7z压缩级别
Archive Manager或file-roller
似乎没有为7z
文件设置压缩级别的选项。
但是,Windows客户端7-zip有一个使用GUI的选项 –
在Ubuntu / Linux上,可以使用-m
标志在命令行(CLI)中设置压缩级别。 有关详细信息,请参阅此答案 。
是否有任何规定在Ubuntu中使用GUI设置7z
档案的压缩级别?
我的想法是在包的文件列表或gconf中找到一些提示,但我没有运气。 但是有人知道答案。
超级用户: 更改文件滚动的默认压缩级别?
或者:
$ dconf write /org/gnome/file-roller/general/compression-level "'maximum'"
要么:
$ dconf-editor
- 在左侧窗格中选择
org
。- 在左侧窗格中选择
gnome
。- 在左侧窗格中选择
file-roller
。- 在左侧窗格中选择
general
。- 在右侧窗格中选择
compression-level
。- 将
compression-level
设置为'maximum'
。遗憾的是,您无法针对不同的压缩程序微调此设置。 如果你想要所有的自由,你可以使用你的shell。
dconf编辑器的图像,file-roller的压缩级别设置为最大值。 。
这个答案以前没有upvotes,所以我检查了它是否有任何影响,并选择使用默认设置和最大设置压缩一些文档(类型7z)。 结果:在~300 KB存档上改进了2,3 KB。
警告:
- 根据内容的不同,LZMA / LZMA2在最大水平上压缩所有内容会产生负面影响。 例如,PNG已经使用Deflate压缩,并且不会从压缩中获得太多收益。 使用PNGOUT / OptiPNG, Zopfli对它们进行优化会更有意义,然后使用LZ4对它们进行存档,从而实现更快的存档解压缩并减小文件大小。
我试图通过文件滚动手册和用户手册找到更多信息,但仍然没有运气。 然后我下载源包并在fr-command-7z.c
搜索“maximum”(请注意我如何避免说我读取源代码),这给了我以下内容:
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; }
就我目前所能得到的而言,似乎没有超级设定。