Как установить уровень сжатия 7z с помощью графического интерфейса в Ubuntu?


14

Менеджер архивов, или file-roller, кажется, не имеет возможности установить уровень сжатия для 7zфайлов.

введите описание изображения здесь

Тем не менее, клиент Windows 7-Zip имеет возможность сделать это с помощью графического интерфейса -

введите описание изображения здесь

В Ubuntu / Linux можно установить уровень сжатия в командной строке (CLI), используя -mфлаг. Подробнее см. В этом ответе .

Есть ли какие-либо условия для установки уровня сжатия для 7zархивов, использующих графический интерфейс в Ubuntu?


Насколько мне известно, он использует ultraуровень по умолчанию!
— blade19899

@ blade19899 Уровень по умолчанию 5 (Нормальный)
— Рохит Мадхаван

Вы меня учили. Единственный вариант - использование версии командной строки. И отправьте запрос на функцию! Насколько я знаю :)
— blade19899

Я думаю, что это примерно тот же алгоритм, который обычно использует xz, а для более высоких уровней сжатия может потребоваться «несколько гигабайт» оперативной памяти (так говорится man xz) - это не похоже на zip, где указание «max» все время является лучшей идеей.
— Xen2050

Это зависит от размера файлов, которые будут заархивированы. Для практических целей требование ОЗУ не является большой проблемой.
— Рохит Мадхаван

Ответы:


16

Моя идея заключалась в том, чтобы найти какую-то подсказку в списке файлов пакетов или в gconf, но мне не повезло. Кто-то еще знал ответ, хотя.

Superuser: Изменить уровни сжатия по умолчанию для файлового ролика?

Или:

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

Или:

$ dconf-editor
  1. Выберите orgв левой панели.
  2. Выберите gnomeв левой панели.
  3. Выберите file-rollerв левой панели.
  4. Выберите generalв левой панели.
  5. Выберите compression-levelв правой панели.
  6. Установите compression-levelв 'maximum'.

К сожалению, вы не можете точно настроить этот параметр для различных программ сжатия. Если вам нужна вся свобода, вы можете вместо этого использовать свою оболочку.

Изображение dconf Editor с максимальным уровнем сжатия файлового ролика. ,

В этом ответе ранее не было никаких голосов, поэтому я проверил, оказывает ли это какое-либо влияние, и решил сжать некоторые документы с настройками по умолчанию и с максимальными настройками (тип 7z). Результат: улучшение 2,3 КБ для архива ~ 300 КБ.

Внимание:

  • В зависимости от содержимого это может оказать негативное влияние на сжатие всего с помощью LZMA / LZMA2 на максимальном уровне. Например, PNG уже сжаты с помощью Deflate и не сильно выиграют от сжатия. Было бы разумнее оптимизировать их с помощью PNGOUT / OptiPNG, Zopfli, а затем заархивировать их с помощью LZ4 , что обеспечит более быструю распаковку архива и уменьшение размера файла.

Я попытался узнать больше с помощью man-страницы и руководства пользователя , но все же не повезло. Затем я загрузил пакет с исходным кодом и искал «максимум» в fr-command-7z.c(обратите внимание, как я избегаю говорить, что я прочитал исходный код), что дало мне следующее:

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

Это, насколько я могу в настоящее время получить, кажется, что нет ультра настройки.


1
Хотя предложенный метод может улучшить уровни сжатия, он требует от пользователя изменять значения в dconf-editor каждый раз, когда требуется другой уровень. Есть ли способ, где уровни сжатия выбираются динамически?
— Рохит Мадхаван

+1 за ответ. Хотя это не совсем решает проблему, оно предоставляет альтернативное решение.
— Рохит Мадхаван

@ RohithMadhavan Я понимаю, что вы имеете в виду. Я пытаюсь никого не винить здесь, но я думаю, что именно так работают приложения Gnome по умолчанию: вы можете включить скрытые функции, но вы не найдете много флажков и выпадающих меню.
— LiveWireBT

Думаю ты прав. Я могу попытаться подать запрос на добавление функции, возможно, для включения в дополнительные параметры. Спасибо :-)
— Рохит Мадхаван
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.