Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 4)
Бесплатный архиватор с высокой степенью сжатия

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие части: Часть 1  |  Часть 2  |  Часть 3


Официальный сайт | Страница проекта на SourceForge.net

Примечания: | Справка: | О программе:
LZMA SDK | История версий | Страница загрузки
На 7-Zip.org доступны сборки для всех поддерживаемых ОС, исходные коды,
а также пакет 7-Zip Extra (автономная консольная версия, библиотеки и плагин для FAR)
 
Тема Сборки и украшательства архиватора 7-Zip

Загрузить:

Последняя стабильная версия: 25.01 (03.08.2025) | Download 7-Zip 25.01 (03.08.2025)
 
Setup: Windows: x86 (SFX | MSI), x86-64 (SFX | MSI), ARM SFX, ARM64 SFX, Console: Linux: x86 | x86-64 | arm | arm64, macOS arm64/x86-64, Extra (x86/x64), LZMA SDK, Source (.7z | .tar.xz)
 
Последняя beta-версия: 24.04 (05.04.2024), для Linux/MacOs 05.05.2024 выложена v24.04 beta
Windows: (AMD64, SFX , x86, SFX , Arm64, SFX) | Linux: (AMD64, tar.xz , x86, tar.xz , Arm64, tar.xz , ARM, tar.xz) | MacOS X: (Arm64 and AMD64, tar.xz) | 7-Zip Extra: (7z. x86 + AMD64, DLL, standalone console, ANSI Far plug-in)
 
Последняя alpha-версия: 21.02 (06.05.2021)
x86 (7-Zip SFX) | x64 (7-Zip SFX)
 
Расшифровка обозначения аппаратных платформ к таблицам:
IA32 Win32 для x86/х86-64 и совместимых по набору машинных команд процессоров от i386 и новее    
AMD64 Win64 для AMD64/Intel EMT64 х64-86 совместимые процессоры от AMD K8 и новее    
IA64 Win64 для Intel Itanium/Itanium 2    
ARM Win32 для DEC StrongARM SA-110/Intel XScale совместимые процессоры    
Arm64 64-х битные RISC процессоры с архитектурой ARMv8-A и совместимые с ними

Примечание:
Alpha и Beta-версии 7-Zip зачастую являются развитием "стабильных" версий с улучшениями и исправлениями багов.
Ссылки на альфы ищем в разделе Open Discussion форума проекта 7-Zip, там же можно получить и консультацию от разработчика.


Дополнения:

  • Плагины для архиватора 7Zip на tc4shell
  • Архив 7-Zip ZS
  • Форк с поддержкой дополнительных алгоритмов - Zstandard, Brotli и др. Vista+. На странице есть подробные результаты тестов разных алгоритмов и инструменты для тестирования.
  • Ultra7z Archive Optimizer 1.09 Ахтунг! при конвертации пропадают файлы - Проверяйте количество файлов в созданном архиве! Работайте с копиями.
  • Ultra7z Optimizer 0.12  
  • m7zRepacker 1.0.32.301 (версия 7-zip 9.20 включена)
  • Плагин MutiArc для Total Commander с поддержкой 7z
  • Отдельный 7z-плагин для Total Commander
  • Ещё один новый 7z-плагин для Total Commander - Total7zip
  • Иные программы, поддерживающие архивацию в формате 7z
    Дополнительные бесплатные утилиты:

  • 7z SFX Tools - модифицированные SFX модули 1.7.0.3900, Архив версий и 7ZSplit.exe
  • 7z SFX Constructor - программа для сжатия файлов\папок в один *.exe
  • Графическая оболочка для 7z SFX Tools (версия 0.6.0.1, 342 КБ, 01.05.2007)
  • Кнопка для создания и работы с SFX-архивами 7z в Total Commander (Архив версий) (автор: GORA2)
  • Универсальный загрузчик для многотомных 7z SFX архивов. Описание (автор: GORA2)
  • 7-Zip Parameter Generator - генератор параметров командной строки для особых настроек сжатия

    Часто задаваемые вопросы:

  • Почему для использования 2+ ГБ памяти желательно установить 64-битную версию Windоws?
  • Как добавить к имени архива текущие дату и время?
  • Если забыли пароль к архиву, cRARk for 7-Zip purpose, 7z Cracker, Parallel Password Recovery (7-zip module), Hashcat, Daossoft ZIP Password Rescuer
  • А почему вообще в последних версиях убрана поддержка NSIS?
  • Как помещать каждый файл/папку в отдельный архив? (Put each file to separate archive)

  • Всего записей: 39775 | Зарегистр. 26-02-2002 | Отправлено: 20:16 28-11-2021 | Исправлено: tmrx, 04:50 03-12-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    destiny_child
    В Справке по ключу -m, те опции, что описаны сразу после 7z: x или yx, действуют в пределах контейнера (формата 7z), некоторые также могут действовать только на метод.
     
    Примеры:
    -m0=BCJ2 -m1=LZMA -mmt=1 -mx=3, в этом случае mt=1 x=3 действует в пределах всего контейнера.
    -m0=BCJ2 -m1=LZMA:mt1:x3, в этом случае mt=1 x=3 действуют для метода 1, для -m0 действуют его собственные настройки.
    А так сделать нельзя -m1=LZMA:yx9, так как yx действует только на весь контейнер.
     
    Потом идут опции, которые воздействуют только на определенный метод, LZMA, PPMd и прочее.
    lc, lp, pb - это настройки специфичные для LZMA/2, даже не для всего семейства LZ, а контейнер может методы Deflate или PPMd содержать.
    А у PPMd нет Fast Bytes, он к семейству LZ не относится и смысл их описывать в разделе, где опции контейнера.
     
    Поэтому такая организация справки.

    Цитата:
     
    Вы пишите, что видно 3 метода с разными параметрами ..
    А я вижу, что 2 и 3 абсолютно идентичны. Это как вот вообще????
     

    В этом случае задаются 3 конкретных метода: -m1,-m2,-m3, для 3 выходных потоков метода -m0, которым эти методы сопоставлены.
    http://forum.ru-board.com/topic.cgi?forum=5&topic=8076&start=1100#10
    -m0=BCJ2 -mb0:1 -mb0s1:2 -mb0s2:3 -m1=LZMA:d=384m:fb273:lc8:mc2000 -m2=LZMA:fb273:lp2:lc0:mc2000 -m3=LZMA:fb273:lp2:lc0:mc2000
    Нет способа написать -m3="Тоже самое, что для -m2", а по-умолчанию для -m3 другое настройки будут.

    Всего записей: 3495 | Зарегистр. 13-10-2006 | Отправлено: 19:30 17-12-2025 | Исправлено: lelik007, 21:45 17-12-2025
    destiny_child



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Чтож, значит с любовью и с удовольствием обращаю свой взор ток на gui окно настройки архивации.
    Ибо все вот "это" - это просто ужас ужасный.

    Всего записей: 5133 | Зарегистр. 01-04-2006 | Отправлено: 22:31 17-12-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    destiny_child
    А зачем это вообще? Достаточно базового набора для 99.99999% задач.
    Это должен попасться прямо какой-то уникальный случай, чтобы реально понадобилось костылить что-то большее или как-то явно указывать отдельно.
    Тем более, что в некоторых случаях даже на mfb можно забить. А в ещё некоторых даже на сортировку. Всё равно разница либо в пределах нескольких процентов, либо даже меньше.

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 22:54 17-12-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    destiny_child

    Цитата:
    gui окно настройки архивации

    Там есть самые нужные опции, в "Параметры" иногда дописывают:
    qs  - сортировка по типу (по расширению)
    yx  - максимальный уровень анализа файлов
    Большинству достаточно, а fine tuning позволяет получить, хорошо, если - 1% сжатия, поэтому Евгений Рошал не хочет с ним возится в Winrar.
     
    insorg

    Цитата:
    А зачем это вообще?

    Вот именно.
    Достаточно понимания того, как работает LZMA2 и словарное сжатие, без этого никак, хоть в GUI, хоть в CLI, если этого нет, хоть как методы и фильтры тасуй...

    Цитата:
    Тем более, что в некоторых случаях даже на mfb можно забить. А в ещё некоторых даже на сортировку. Всё равно разница либо в пределах нескольких процентов, либо даже меньше.
     

    На Fast Bytes я давно забил, от этого они стали особенно Fast.
    Сортировка помогает в случаях, когда словарь меньше архива, к сожалению не всегда, но можно попробовать.
    Для некой универсальной команды, лучше пусть будет.

    Всего записей: 3495 | Зарегистр. 13-10-2006 | Отправлено: 22:54 17-12-2025 | Исправлено: lelik007, 18:02 18-12-2025
    uShell

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Если есть условных 5 файлов и я их запаковал методом zip.
    То не говорите, что указав вторым методом lzma, я получу упаковку zip архива в lzma. Типа tar.gz?

    Контейнер 7z изначально поддерживает задание произвольной иерархии методов с произвольным набором параметров. Командная строка поддерживает эту универсальность, насколько может, поэтому в общем случае набор параметров получается страшный. Не все пары методов разумны (как отметил insorg), но контейнер об этом не знает.
     

    Цитата:
    Ну а когда ещё и методы идентично тупо повторены - то вообще фляга свистит и кукуха уезжает((((

    У всех стандартных методов, кроме BCJ2, один выходной поток, поэтому следующий метод применяется в лоб поверх предыдущего. У BCJ2 выходных потоков четыре, поэтому поверх него можно указать до 4 разных методов. То, что они применяются к выходным потокам, указывают отдельные ключи -mb. Конструкция очень громоздкая, но позволяет неплохо сжимать. Кстати, тут может быть различие между применением BCJ2 как фильтра и как отдельного метода: в режиме фильтра поток 0 сжимается основным методом, а потоки 1-3 получают сжатие по умолчанию; в режиме метода обделённые методами потоки не сжимаются вообще.
     

    Цитата:
    Получается, что в справке вообще никак не отражен факт того, что если метод есть/должен/будет один, то его соответствующие параметры вдруг почему-то можно будет расписывать в свободной форме? Ибо из справки я вижу лишь строгий формализм, когда даже для одного метода его опции/флаги надо писать в формате {N}={MethodID}[:param1][:param2][..]. А не так, как вы сейчас это делаете: просто описывая их подряд через общую форму представления "-m...".  
    Да ещё и не соблюдая очередность.

    Очерёдность роли не играет - имена параметров позволяют их корректно распознавать. А вот то, что в частном случае одного метода глобальные параметры передаются этому методу, для меня тоже стало откровением. Впрочем, это довольно логичное упрощение, а то, что оно не указано в справке - так и некоторые редкие ключи там не указаны.
    И, судя по сообщению от lelik007 ниже, все ключи -m в 7-Zip просто объединяются в один, а глобальные параметры типа -mx "просыпаются" в параметры методов, если там не задан такой же параметр. Всё логично, хотя и стоило бы это явно указать в справке.
     

    Цитата:
    Вы пишите, что видно 3 метода с разными параметрами ..
    А я вижу, что 2 и 3 абсолютно идентичны. Это как вот вообще????

    Просто небольшая неаккуратность. Примерно как "У меня трое детей разного пола".

    Всего записей: 1167 | Зарегистр. 12-06-2019 | Отправлено: 16:13 19-12-2025 | Исправлено: uShell, 17:55 19-12-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uShell
    То что в разных методах можно определить разную степень сжатия, то есть:
    -m0=LZMA:d=265m:x7 - я про это Игорю писал, он сказал - нормально, про количество потоков не догадался спросить, не знал, что их тоже можно там указывать.
    -m0=LZMA:d=265m:x7:mt1 - по крайней мере, это не синтаксическая ошибка, 7-Zip такую команду может выполнить.
     
    Про упрощения, в справке дается конкретный пример:
    -myv=1600 , я пишу -myv=1900, потому что Игорь сказал, это тоже самое что -myfd=ARM64 -myfd=RISCV , (от себя, может еще -myfd=MIPS сделает). -myv=0465 можно писать или -myv=0920, если кому нравится.
     

    Цитата:
    Очерёдность роли не играет.

    Никакой, но есть внутренние приоритеты ключей для 7-Zip, Игорь писал, что словарь имеет очень больший приоритет, гораздо больше чем число потоков, если будет нужно, для сохранения размера словаря, 7-Zip уменьшит количество потоков. У ключей есть свои приоритеты, а порядок в котором мы их задаем, не важен.

    Всего записей: 3495 | Зарегистр. 13-10-2006 | Отправлено: 16:27 19-12-2025 | Исправлено: lelik007, 20:56 19-12-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uShell

    Цитата:
    Примерно как "У меня трое детей разного пола".

    В современных безумных реалиях всё возможно.
     
    Добавлено:
    lelik007

    Цитата:
    -myv=1600 , я пишу -myv=1900

    Вообще было бы прикольно узнать, как число самой прогой разбирается и по каким конкретно признакам (граничным значениям?) проходит граница отключений конкретных фильтров.

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 18:06 19-12-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
    = 2300 - умолчания.
    >= 2300 - включается фильтр ARM64, >= 2402 - включается также фильтр RISCV, -myv (традиционно) = 9999, включает все фильтры.

    Всего записей: 3495 | Зарегистр. 13-10-2006 | Отправлено: 18:22 19-12-2025 | Исправлено: lelik007, 18:31 19-12-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007
    2299?
    2222?
    2077?
    1111?
    И вот это вот всё...  
    Я о существовании какой-то конкретной привязки, или оно обрабатывается по принципу "число больше / равно / меньше" и пофиг на конкретное точное значение при этом?

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 18:35 19-12-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
    Попробовал, 2299 фильтр ARM64 не применяется, 1900 тоже, что мне их все 2299 пробовать, по-умолчанию 2300 применяется.

    Цитата:
    "число больше / равно / меньше"

    Да, как то так.

    Всего записей: 3495 | Зарегистр. 13-10-2006 | Отправлено: 19:01 19-12-2025 | Исправлено: lelik007, 20:55 19-12-2025
    uShell

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    по каким конкретно признакам (граничным значениям?) проходит граница отключений конкретных фильтров

    Число трактуется как номер версии 7-Zip. -myx=2300 означает, что архив должен распаковываться версией 23.00 и более новыми (кстати, это в документации указано). Скорее всего, в исходном коде есть массив соответствия методов/фильтров версиям программы. Все, что требуют более новой версии, запрещаются.

    Всего записей: 1167 | Зарегистр. 12-06-2019 | Отправлено: 19:50 19-12-2025
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007

    Цитата:
    Попробовал, 2299 фильтр ARM64 не применяется

    7z a file.7z 7z
     
    7z l -slt file.7z | grep -i met
    Method = ARM64 LZMA2:192k

    Всего записей: 8086 | Зарегистр. 08-09-2001 | Отправлено: 20:04 19-12-2025
    codecs



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    как число самой прогой разбирается

    там всего два сравнения jnb (jump if no below) с 8FCh (2300і) и 962h (2402і) и соответственно всего лишь три варианта выполнения кода, чего бы там в комстроке не понаписали - до 2300, между 2300 и 2402 и больше 2402  

    Всего записей: 2301 | Зарегистр. 22-07-2003 | Отправлено: 20:17 19-12-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    И что? По-умолчанию -myv=2300, фильтр ARM64 включен, что то я здесь:
    7z a file.7z 7z не вижу -myv=2299
    codecs
    Ага.

    Цитата:
    всего лишь три варианта выполнения кода

    Без фильтра ARM64 и RISCV.
    С фильтром ARM64.
    С фильтрами ARM64 и RISCV.
    Это все, там до версии 4.65 фильтры не посчитаны.

    Всего записей: 3495 | Зарегистр. 13-10-2006 | Отправлено: 20:22 19-12-2025 | Исправлено: lelik007, 20:33 19-12-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uShell
    Я в курсе смысла ещё с момента появления этой фичи. Меня интересует конкретика в коде и допустимые вилки значений в принципе.

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 00:03 20-12-2025
    lelik007



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    insorg
    v9.20 как я понимаю на Windows 98 работает, в ней есть все фильтры, кроме ARM64 и RISCV, а в v4.65 нет фильтра Delta. Ниже я не смотрел.

    Всего записей: 3495 | Зарегистр. 13-10-2006 | Отправлено: 00:41 20-12-2025
    insorg



    Platinum Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    lelik007
    Да, про вин98 и 9.20 верно, она отлично работает там.
     
    А дельту завезли уже ближе к концу "девяток"
    https://sourceforge.net/p/sevenzip/discussion/45797/thread/d57804ea/
     

    Цитата:
    7-Zip 9.21 beta was released.
     http://sourceforge.net/projects/sevenzip/files/7-Zip/9.21/
    What's new:
    - 7-Zip now can unpack UEFI BIOS files.
    - 64-bit version of 7-Zip now includes additional 32-bit shell extension DLL.
      So other 32-bit programs can call 64-bit 7-Zip via context menu.
    - Now it's possible to associate 7-Zip with file types without Administrator rights.
    - New -mf=FilterID switch to specify compression filter. Examples:
        7z a -mf=bcj2 a.7z a.tar
        7z a -mf=delta:4 a.7z a.wav
        7z a -mf=bcj a.tar.xz a.tar

    - 32-bit 7-Zip running under 64-bit Windows x64 now can use up to 4 GB of RAM.
    - Some bugs were fixed.
    - New localizations: Corsican, Kyrgyz, Ligurian.

     
    Добавлено:
    Помню, первое время после появления дельта фильтра было веселье, когда надо старой версией открыть архив с прогой, где в ресурсах есть парочка стерео wav, и получать облом с "ошибкой чтения диска". Приходилось показывать в чём дело и обнову ставить, да.
     
    Добавлено:
    Кстати, там же сейчас краем глаза заметил прикол про "up to 4 GB of RAM" для 32-битной версии. Забавное. Даже из внимания ускользнуло в то время...

    Всего записей: 20548 | Зарегистр. 04-11-2010 | Отправлено: 00:53 20-12-2025
    Iacoyn



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    Добавлено:
    Кстати, там же сейчас краем глаза заметил прикол про "up to 4 GB of RAM" для 32-битной версии. Забавное. Даже из внимания ускользнуло в то время...

    там же любой процесс не больше 3,5гб мог? или в виндовс были 32 битные с большим размером?

    Всего записей: 2560 | Зарегистр. 07-05-2002 | Отправлено: 09:17 20-12-2025
    Alexyz21



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Насчёт висты не помню, а 7+ x86 при наличии 6+ГБ памяти могут процессу отдавать до 4-х ГБ.

    Всего записей: 3802 | Зарегистр. 16-06-2007 | Отправлено: 14:45 20-12-2025
    VV189



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Багфиксы к последнему релизу 7-Zip-zstd
    * added non-darkmode binaries (with -ndm suffix) and old windows subsystem
    * fixed crash on Windows 7

    Всего записей: 566 | Зарегистр. 10-09-2006 | Отправлено: 16:23 20-12-2025
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125

    Компьютерный форум Ru.Board » Компьютеры » Программы » 7-Zip | 7z | 7Zip (часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.Board
    © Ru.B0ard 2000-2026

    LiteCoin: LgY72v35StJhV2xbt8CpxbQ9gFY6jwZ67r

    Рейтинг.ru