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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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)

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

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Ком-сторокой пользуюсь редко, не проверял.  
    Собственно, описанное - не проблема, но лишь сравнение поведения двух архиваторов, где, возможно, 7Zip-у нужно немного "подчистить шероховатости", поскольку он продолжает активно развиваться.

    Всего записей: 290 | Зарегистр. 04-04-2022 | Отправлено: 14:10 09-07-2022
    uShell

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    V0lt
    Я, возможно, не очень понятно написал: идея была в том, чтобы вывести пользователю диалоговое окно с кнопками "Переименовать папку в...", "Переименовать папку автоматически" и "Отказаться от создания новой папки". Для командной строки диалог, естественно, должен подавляться ключом -y, а для совместимости со скриптами можно добавить дефолтовый вариант "Отменить распаковку".
     
    Кстати говоря, вариант "Распаковать в <имя архива>" предназначается в первую очередь для архивов с несколькими файлами, так что ещё один вариант - это вообще не предлагать создание папки, если в архиве только один файл (в частности - для всяких gz/bz/lz, если распаковывается только верхний уровень). Тогда у nWxh проблема не возникнет: name.exe упакуется в name.exe.7z, а распакуется обратно в name.exe с перезаписью.

    Всего записей: 1167 | Зарегистр. 12-06-2019 | Отправлено: 15:41 09-07-2022
    nWxh

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uShell
    Ваша идея с диалоговым окном, как Вы его описали, она даже лучше, чем, просто, действия архиватора "на автомате".

    Всего записей: 290 | Зарегистр. 04-04-2022 | Отправлено: 16:58 09-07-2022
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    uShell
    nWxh
     
    Сходный механизм реализован в Far Manager, а в нём специально для работы с 7zip.dll есть плагин ArcLite - "Управление архивами на основе библиотеки 7z.dll из проекта 7-Zip.". И в нём с момента его появления в 2010 году такие запросы выводятся. И его текущий разработчик в теме 7-Zp присутствует, но грятЪ фар штука немодная ибо консольная и чёрной темы нетЪ.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35481 | Зарегистр. 31-07-2002 | Отправлено: 21:01 09-07-2022 | Исправлено: Victor_VG, 21:08 09-07-2022
    mig73



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    FAR годный, но действительно не модный. Что нет похоронной темы это плюс. Юзай тотал и будет кошерно.

    Всего записей: 8283 | Зарегистр. 24-02-2010 | Отправлено: 00:57 10-07-2022
    Victor_VG



    Tracker Mod
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    mig73
     
    Свят, свят! Чур меня! Меня фар устраивает полностью и проблем с 7-Zip у меня так же нет. Хотя я бы не отказался от более новой версии 7zip для демона - текущая в портах 21.07 - /ports/archivers/7-zip/pkg-descr :

    Цитата:
    7-Zip is a file archiver with a high compression ratio in 7z format with LZMA
    and LZMA2 compression. Supported formats:
     
    * Packing / unpacking: 7z, XZ, BZIP2, GZIP, TAR, ZIP and WIM
    * Unpacking only: AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS,
      IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, RAR, RPM, SquashFS, UDF,
      UEFI, VDI, VHD, VMDK, WIM, XAR and Z
     
    WWW: https://www.7-zip.org/

    makefile
    , а там ещё не все недочёты устранены...
     
    А p7zip из портов демона убран, как и из списков на FreshPort.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35481 | Зарегистр. 31-07-2002 | Отправлено: 01:16 10-07-2022 | Исправлено: Victor_VG, 01:22 10-07-2022
    mig73



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Victor_VG
    Ну ты старой закалки юзер, потому тебе само то

    Всего записей: 8283 | Зарегистр. 24-02-2010 | Отправлено: 01:32 10-07-2022
    los

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

    Цитата:
    Хотя я бы не отказался от более новой версии 7zip для демона - текущая в портах 21.07  

    Что мешает собрать самому если есть нужда именно в последней версии?
     

    Цитата:
    , а там ещё не все недочёты устранены...  

    Применительно к юникс-подобным системам не все недочёты устранены и в последней версии.

    Всего записей: 8073 | Зарегистр. 08-09-2001 | Отправлено: 09:45 10-07-2022
    Victor_VG



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

    Цитата:
    Применительно к юникс-подобным системам не все недочёты устранены и в последней версии.

    Некогда возится - работы подкинули, все в отпусках... С недочётами понял.

    ----------
    Жив курилка! (Р. Ролан, "Кола Брюньон")
    Xeon E5 2697v2/C602/128 GB PC3-14900L/GTX 1660 Ti, Xeon E5-2697v2/C602J/128 Gb PC3-14900L/GTX 1660 Ti

    Всего записей: 35481 | Зарегистр. 31-07-2002 | Отправлено: 15:47 10-07-2022
    wseventeen

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

    Цитата:
    Кто мешает проверить?
    7zz a foo.tar -ttar -mm=pax -mtp=3 -mtc -mta file
    и смотрите заголовок.

    Судя по сорсам:

    Код:
      const bool needDevice = (IsPosixMode && !isPax);
       
      if (item.DeviceMajor_Defined)
        WRITE_OCTAL_8_CHECK (cur, item.DeviceMajor)
      else if (needDevice)
        WRITE_OCTAL_8_CHECK (cur, 0)
      cur += 8;
       
      if (item.DeviceMinor_Defined)
        WRITE_OCTAL_8_CHECK (cur, item.DeviceMinor)
      else if (needDevice)
        WRITE_OCTAL_8_CHECK (cur, 0)
      cur += 8;
     
    Т.е., если задать -mm=posix, должно работать.
     
     
    Добавлено:
    Правда есть вопрос - надо ли делать cur += 8, если !itemDeviceXXX_Defined && !needDevice.
     
    Добавлено:
    Логичнее было бы:

    Код:
      const bool needDevice = (IsPosixMode && !isPax);
       
      if (item.DeviceMajor_Defined || needDevice) {
        WRITE_OCTAL_8_CHECK (cur, item.DeviceMajor_Defined ? item.DeviceMajor : 0);
        cur += 8;
      }
       
      if (item.DeviceMinor_Defined || needDevice) {
        WRITE_OCTAL_8_CHECK (cur, item.DeviceMinor_Defined ? item.DeviceMinor : 0);
        cur += 8;
      }
     

    Всего записей: 1476 | Зарегистр. 20-12-2007 | Отправлено: 12:52 11-07-2022
    los

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

    Цитата:
    Т.е., если задать -mm=posix, должно работать.

    могу только повторить вопрос: что мешает проверить?
    И с '-mm=pax' и с '-mm=posix' в связи с наличием доп. ключей 'mtc' и т.п. архив будет создан с использованием pax header.
     
    $ printf %s\\n test >file
    $ 7zz a 7z.tar -ttar -mm=posix -mtp=3 -mtc -mta file
    $ pax -x pax -wvf pax.tar -o 'uid:=0 gid:=0' file
     
    $ tartest < pax.tar
    Warning: Archive uses POSIX.1-2001 extensions.
    ...
    No deviations from POSIX.1-1990 TAR standard found.
     
    $ tartest < 7z.tar
    Warning: Archive uses POSIX.1-2001 extensions
    ...
    Warning: non octal character '^@' (0x00) found in field 't_devmajor[0]'
    Warning: non octal character '^@' (0x00) found in field 't_devmajor[1]'
    ...
    Warning: non octal character '^@' (0x00) found in field 't_devminor[6]'
    Warning: non octal character '^@' (0x00) found in field 't_devminor[7]'
    *** Failing Filename 'PaxHeader/@PaxHeader'
    ...
    >>> Archive is not POSIX.1-1990 TAR standard compliant.

     
    Посмотрим на заголовки

     

    Всего записей: 8073 | Зарегистр. 08-09-2001 | Отправлено: 14:12 11-07-2022
    wseventeen

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

    Цитата:
    могу только повторить вопрос: что мешает проверить?

    например, трудности с поиском используемых утилит под windows.
    \0, вероятно из-за += 8, без данных.

    Всего записей: 1476 | Зарегистр. 20-12-2007 | Отправлено: 21:14 11-07-2022
    los

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

    Цитата:
    например, трудности с поиском используемых утилит под windows.  

    не знал что hex-редактор это большая редкость для windows
     

    Цитата:
    \0, вероятно из-за += 8, без данных.  

    собрать 7z с предложенным вами же вариантом не пробовали?

    Всего записей: 8073 | Зарегистр. 08-09-2001 | Отправлено: 22:11 11-07-2022
    El Sanchez



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

    Цитата:
    Судя по сорсам:
    const bool needDevice = (IsPosixMode && !isPax);  
    if (item.DeviceMajor_Defined)

    wseventeen, в каких таких сорцах такое написано? В официальных нет такой отсебятины.

    Цитата:
    Логичнее было бы:
    WRITE_OCTAL_8_CHECK (cur, item.DeviceMajor_Defined ? item.DeviceMajor : 0);

    wseventeen, неиспользуемые поля заполняются нулями, а не символами '0' (0x30).

    Цитата:
    Посмотрим на заголовки

    los, нормально там всё, вы сравниваете разные типы заголовков - см. поле typeflag (у вас на снимке он называется linkflag).
     
     

    Всего записей: 532 | Зарегистр. 23-12-2008 | Отправлено: 11:32 12-07-2022
    wseventeen

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    los
    Проверить, запустив готовую (и доступную) утилиту, я готов. Ковыряться с лупой и hex редактором - нет, tar в 99% случаев у меня только распаковка.
    Убеждать в некорректности создаваемых заголовков вам надо И. Павлова. Я надеялся что проблемы с tar закрыты, изменений касающихся pax в коде было много, и моя коллекция проблемных (при распаковке) tar файлов теперь открывается нормально.
    Но я готов поверить вам что это не так...
     

    Всего записей: 1476 | Зарегистр. 20-12-2007 | Отправлено: 11:39 12-07-2022 | Исправлено: wseventeen, 11:42 12-07-2022
    los

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

    Цитата:
    нормально там всё, вы сравниваете разные типы заголовков - см. поле typeflag (у вас на снимке он называется linkflag).  
     

    больше похоже что вы не совсем поняли о чем идет речь, но если вас беспокоит именно typeflag
    $ tar cvf pax.tar --gid 0 --uid 0 --posix file

     
    wseventeen

    Цитата:
    Но я готов поверить вам что это не так...  

    Вы не в церкви, вас не обманут ©

    Всего записей: 8073 | Зарегистр. 08-09-2001 | Отправлено: 11:55 12-07-2022
    wseventeen

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

    Цитата:
    в каких таких сорцах такое написано? В официальных нет такой отсебятины.

    7z2200-src.7z -- CPP\7zip\Archive\Tar\TarOut.cpp -- #146

    Всего записей: 1476 | Зарегистр. 20-12-2007 | Отправлено: 11:58 12-07-2022
    El Sanchez



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

    Цитата:
    больше похоже что вы не совсем поняли о чем идет речь, но если вас беспокоит именно typeflag

    los, и что? В pax.tar поля devmajor/devminor прописаны в расширенном заголовке файла, а в 7z.tar в заголовке файла (на снимке не показаны, но они там есть) и не переопределены в расширенном.

    Цитата:
    7z2200-src.7z -- CPP\7zip\Archive\Tar\TarOut.cpp -- #146

    wseventeen, пардон, не ту версию исходников смотрел. Всё равно правильно написано.
     

    Всего записей: 532 | Зарегистр. 23-12-2008 | Отправлено: 12:52 12-07-2022
    los

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    El Sanchez, может прежде чем комментировать вам есть смысл почитать с чего началось обсуждение? Потому как речь шла о создании архива с pax header и при использовании определенных ключей т.к.  в остальных случаях "проблема" не наблюдается.
     

    Цитата:
    В pax.tar поля devmajor/devminor прописаны в расширенном заголовке файла, а в 7z.tar в заголовке файла (на снимке не показаны, но они там есть) и не переопределены в расширенном.  

    будете разглядывать снимок обратите внимание как он соотносится с вашим утверждением

    Цитата:
    неиспользуемые поля заполняются нулями, а не символами '0' (0x30).  


    Всего записей: 8073 | Зарегистр. 08-09-2001 | Отправлено: 13:48 12-07-2022
    El Sanchez



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

    Цитата:
    Потому как речь шла о создании архива с pax header и при использовании определенных ключей т.к.  в остальных случаях "проблема" не наблюдается.

    los, ну ок. Что из этого не так?
    1. 7zz a foo.tar -ttar -mm=pax -mtp=3 -mtc -mta file - строка полностью из вашего сообщения
    2. -ttar - указан тип архива: tar
    3. -mm=pax - указан Method ID: формат pax
    4. -mtp=3 - точность отметки времени: 3 - Windows (100 нс.), 18 байт на представление, а значит штамп не влезет в 12-байтное поле mtime (реально 11 + терминирующий <NUL>), а значит будет описан в блоке данных расширенного заголовка, а значит и расширенный заголовок будет.
    5. -mtc - пишем ctime в блок данных расширенного заголовка, а куда ж ещё, ну не в mtime заголовка же?
    6. -mta - пишем atime в блок данных расширенного заголовка, а куда ж ещё, ну не в mtime заголовка же?
     
    Далее вы пишете:

    Цитата:
    И с '-mm=pax' и с '-mm=posix' в связи с наличием доп. ключей 'mtc' и т.п. архив будет создан с использованием pax header.

    Т.е. что-то другое должно использоваться вместо pax header? Или на вашу картинку надо смотреть? Лады, показаны расширенные заголовки для файлов pax.tar и 7z.tar с флагами 'g' и 'x' соответственно, и акцент на поле devmajor. Будем считать, что акцент указан на "проблему", у 7z.tar неинициализирован, у pax.tar прописан 0 (6 лидирующих символов '0' + значение поля-символ '0' + терминирующий <NUL>). "Проблема" в том, что у 7z.tar неинициализирован? Так для расширенного заголовка смысла и нет прописывать девайсы, т.к. расширенный заголовок не описывает объект файловой системы.
     
    Второй скриншотик с

    Цитата:
    $ tar cvf pax.tar --gid 0 --uid 0 --posix file

    То же самое, только тип расширенного заголовка pax.tar уже не глобальный.
     

    Цитата:
    будете разглядывать снимок обратите внимание как он соотносится с вашим утверждением

    Всё так, как я и сказал, и отвечал я на предложенные правки wseventeen
     

    Всего записей: 532 | Зарегистр. 23-12-2008 | Отправлено: 16:49 12-07-2022
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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