7-Zip

(перенаправлено с «7-zip»)

7-Zip — свободный файловый архиватор с высокой степенью сжатия данных. Поддерживает несколько алгоритмов сжатия и множество форматов данных, включая собственный формат 7z c высокоэффективным алгоритмом сжатия LZMA. Программа разрабатывается с 1999 года, она бесплатна и имеет открытый исходный код, большая часть которого свободно распространяется на условиях лицензии GNU LGPL, за исключением кода распаковщика UnRAR, который имеет ограничения. Основная платформа — Windows (в том числе Windows CE), где доступны две версии программы: с графическим интерфейсом и версия для командной строки. Консольная версия была портирована сообществом разработчиков для систем стандарта POSIX под общим названием p7zip[7]. Портированные версии для других систем, также как и оригинальная программа 7-Zip, доступны на сайте системы SourceForge (по состоянию на 5 сентября 2017 года, программа была скачана с сайта более 412 млн раз[8]). 7-Zip является победителем SourceForge.net Community Choice Awards 2007 года в категориях «Лучший проект» и «Лучший технический дизайн»[9].

7-Zip
Логотип программы 7-Zip
Скриншот программы 7-Zip
ТипАрхиватор
РазработчикиПавлов, Игорь Викторович[вд]
Написана наC++[6] и Си[6]
Интерфейсграфический,
командная строка
Операционные системыWindows, Linux[1],
порт p7zip для Linux, macOS и др. UNIX-подобных[2], ReactOS
Языки интерфейсаМногоязычный
Первый выпуск18 июля 1999[3]
Последняя версия
Репозиторийsourceforge.net/projects…
СостояниеАктуальное
ЛицензияGNU LGPL
Сайт7-zip.org
Логотип Викисклада Медиафайлы на Викискладе

Основные характеристики 7-Zip

  • Поддерживаемые алгоритмы:
    LZMA, LZMA2, PPMd, Bzip2, Deflate и Deflate64
  • Поддерживаемые форматы:
    • упаковка и распаковка: 7z, BZIP2 (BZ2, TB2, TBZ, TBZ2), GZIP (GZ, TGZ), TAR, ZIP (JAR), XZ, WIM;
    • только распаковка: ARJ, CAB, CHM, CPIO, CramFS, DEB, DMG, FAT, HFS, MBR, ISO, LZH (LHA), LZMA, MSI, NSIS, NTFS, RAR, RPM, SquashFS, UDF, VHD, XAR, Z (TAR).
    • Также 7-Zip имеет собственную систему плагинов, позволяющую сторонним разработчикам добавлять в 7-Zip поддержку дополнительных форматов файлов. Существуют плагины[10], позволяющие распаковывать следующие форматы: LZIP, ASAR, CCD/IMG, CDI, CHD (v4), CSO, CUE/BIN, ECM, GDI, ISZ, MDS/MDF, NRG, S01, E01, Ex01, L01, Lx01, AFF, AD1, MIME, UUE, XXE, yEnc.
  • Очень высокая степень сжатия в формате 7z благодаря использованию усовершенствованного алгоритма Лемпеля-Зива.
  • Для форматов ZIP и GZIP степень сжатия на 2-10 % выше, чем у PKZIP и WinZip.
  • Возможность создания самораспаковывающихся архивов для формата 7z.
  • Возможность создания многотомных (порезанных на части) архивов (за исключением самораспаковывающихся) для формата 7z.
  • Возможность шифрования алгоритмом AES-256 для форматов 7z и ZIP.
  • Поддержка аппаратного ускорения, доступного на процессорах, реализующих набор инструкций AES-NI.
  • Интеграция в оболочку Windows и Windows NT.
  • Плагины для программ FAR Manager, Total Commander и Unreal Commander.
  • Встроенная утилита для тестирования производительности.
  • Многоязычный графический интерфейс (только для Windows) с функциями двухоконного файлового менеджера.
  • Мощная версия для командной строки.
  • Специальная версия для 64-разрядных операционных систем Windows.
  • Поддержка кодировки Юникод для имён файлов.

Сжатие

7-Zip использует многопоточность и позволяет задействовать для сжатия, в зависимости от алгоритма или формата, различное количество потоков. При создании архивов, в которых файлы сжимаются независимо друг от друга (например ZIP), программа может использовать до восьми потоков одновременно. Для алгоритма сжатия LZMA архиватор одновременно может использовать до двух потоков. Невозможность использования большего их количества объясняется последовательным характером непрерывного сжатия. Алгоритм сжатия LZMA2 не имеет этого недостатка.

При сжатии в формате 7z также используются специальные фильтры-нормализаторы. Так, для более оптимального сжатия 32-разрядного x86-кода используются нормализующие конвертеры BCJ и BCJ2. Кроме того, программа имеет оптимизирующий дельта-конвертер для некоторых типов мультимедийных данных, например несжатых 24-битных изображений.

Степень упаковки сильно зависит от характера сжимаемых данных. Обычно формат 7z даёт на 4-25 % лучшее сжатие, чем формат ZIP.

В итоговом рейтинге сайта MaximumCompression.com архиватор 7-Zip v9.25a занял 24 место по степени сжатия, обойдя WinRAR v4.1 beta 3 (на 3,6 %) и WinZip v14 (на 4,2 %). Лидеры же рейтинга — PAQ8PX и WinRK — превосходят 7-Zip в сжатии на 28 % и 24 % соответственно, но тратят на упаковку гораздо больше времени[11].

Недостатки

  • 7-Zip не обеспечивает способа управлять порядком файлов внутри архивов. Он игнорирует порядок имён файлов в командной строке. Следовательно, 7-Zip не может использоваться в тех случаях, когда порядок имён файлов имеет значение. Например, формат EPUB, который основан на форматах ZIP и HTML, требует определённого порядка файлов в архивах: файл с именем «MimeType» должен быть первым файлом в архиве ZIP.
  • Архивы формата 7z не имеют защиты от повреждений — ни структуры архива, ни упакованных данных (в отличие от архивов RAR). Поэтому при случайном или преднамеренном повреждении архива 7z данные оказываются безвозвратно утерянными.

Автор программы и история создания

Автором программы является Игорь Викторович Павлов[12] — российский разработчик, кандидат технических наук, выпускник аспирантуры кафедры информатики факультета информатики и робототехники Уфимского государственного авиационного технического университета[13]. Основные идеи использованных в 7-Zip алгоритмов описаны в его кандидатской диссертации[14].

Примечания

Литература

  • Salomon, D. and Bryant, D. and Motta, G. Handbook of Data Compression. — Springer London, 2010. — P. 411—414. — 1361 p. — ISBN 9781848829039.

Ссылки

  • Официальный сайт (англ.)
  • 7-Zip (англ.) на сайте SourceForge
  • Скачать 7-Zip (англ.) на сайте SourceForge
  • Ссылки на альфа-версии в разделе Open Discussion (англ.) на сайте SourceForge форума проекта 7-Zip, там же можно получить и консультацию от разработчика (альфа- и бета-версии 7-Zip зачастую являются развитием стабильных версий с улучшениями и исправлениями багов).