Як встановити рівень стиснення 7z за допомогою GUI в Ubuntu?


14

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

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

Однак клієнт Windows 7-zip має можливість зробити це за допомогою GUI -

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

У Ubuntu / Linux можна встановити рівень стиснення в командному рядку (CLI), використовуючи -mпрапор. Детальніше див. У цій відповіді .

Чи є положення щодо встановлення рівня стиснення для 7zархівів за допомогою GUI в Ubuntu?


Наскільки мені відомо, він використовує ultraрівень за замовчуванням!
blade19899

@ blade19899 За замовчуванням рівень 5 (Нормальний)
Rohith Madhavan

Ви мене навчали. Єдиний варіант - це використання версії командного рядка. І надішліть запит на функцію! Наскільки мені відомо :)
blade19899

Я думаю, що це приблизно той самий алгоритм, який звичайно використовує xz, і більш високий рівень стиснення може вимагати "декількох гігабайт" оперативної пам'яті (так говорить man xz) - Це не так, як zip, де уточнення "max" весь час є найкращою ідеєю.
Xen2050

Це залежить від розміру файлів, які потрібно архівувати. У практичних цілях вимога оперативної пам'яті не є великою проблемою.
Рохіт Мадхаван

Відповіді:


16

Моя ідея полягала в тому, щоб знайти підказку у переліку файлів пакунків або в gconf, але мені не пощастило. Хтось ще знав відповідь.

Суперусер: Змінити типові рівні стиснення для файлового ролика?

Або:

$ 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 з рівнем стиснення файлового валика встановленим на максимальному рівні. .

Раніше ця відповідь не мала жодних результатів, тому я перевірив, чи має це взагалі якийсь ефект, і вирішив стиснути деякі документи із налаштуваннями за замовчуванням та з максимальними налаштуваннями (тип 7z). Результат: поліпшення 2,3 КБ в архіві ~ 300 КБ.

Обережно:

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

Я намагався дізнатися більше за допомогою файлової сторінки та інструкції з користування файлами , але все одно не пощастило. Потім я завантажив вихідний пакет і шукав "максимум" у 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 щоразу, коли потрібен інший рівень. Чи існує якийсь метод, де рівні стиснення вибираються динамічно?
Рохіт Мадхаван

+1 для відповіді. Хоча це точно не вирішує проблему, воно пропонує альтернативне рішення.
Рохіт Мадхаван

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

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