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

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

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

Maz



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


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

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

Загрузить:

Последняя стабильная версия: 23.01 (20.06.2023) | Download 7-Zip 23.01 (2023-06-20)
 
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.03 (23.03.2024), для Linux/MacOs 23.03.2024 выложена v24.03 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 и совместимые с ними

Achtung!
Некоторые провайдеры блокируют официальный сайт. Заходить туда можно через ТОР/прокси или скачивать файлы со страницы проекта на SourceForge.net
Скачивать с посторонних ресурсов, типа различных файлопомоек не рекомендуется, можно легко нарваться на различную заразу.

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


Дополнения:

  • Плагины для архиватора 7Zip на tc4shell
  • Архив 7-Zip ZS
  • Форк с поддержкой дополнительных алгоритмов - Zstandard, Brotli и др. На странице есть подробные результаты тестов разных алгоритмов и инструменты для тестирования.
  • 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)

  • Всего записей: 38836 | Зарегистр. 26-02-2002 | Отправлено: 20:16 28-11-2021 | Исправлено: gjf, 13:38 24-03-2024
    nWxh

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

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

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

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

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

    Всего записей: 248 | Зарегистр. 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

    Всего записей: 33230 | Зарегистр. 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

    Всего записей: 33230 | Зарегистр. 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  

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

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

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

    Всего записей: 7336 | Зарегистр. 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

    Всего записей: 33230 | Зарегистр. 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;
      }
     

    Всего записей: 1417 | Зарегистр. 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.

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

     

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

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

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

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

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

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

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

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

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

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

    Всего записей: 7336 | Зарегистр. 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).
     
     

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

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

    Всего записей: 1417 | Зарегистр. 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

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

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

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

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

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

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

    Всего записей: 1417 | Зарегистр. 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, пардон, не ту версию исходников смотрел. Всё равно правильно написано.
     

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

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

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

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

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


    Всего записей: 7336 | Зарегистр. 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
     

    Всего записей: 467 | Зарегистр. 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

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


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

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

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru