Введение

Архиватор файлов с открытым исходным кодом. Начиная с версии 21.01 alpha, предварительная поддержка Linux добавлена в основной репозиторий разработки, а не в проект p7zip.

7z

По умолчанию, 7-Zip создает архивы формата 7z с расширением файла .7z. Каждый архив может содержать несколько каталогов и файлов. Как контейнерный формат, обеспечение безопасности или уменьшение размера достигается за счет поиска схожих элементов во всех данных с использованием каскадной комбинации фильтров. Эти фильтры могут включать в себя предварительные процессоры, алгоритмы сжатия и фильтры шифрования. В основе сжатия 7z лежат различные алгоритмы, наиболее распространенными из которых являются bzip2, PPMd, LZMA2 и LZMA. Разработанная Павловым, LZMA – относительно новая система, впервые представленная как часть формата 7z. LZMA использует скользящий словарь на основе LZ размером до 3840 МБ, поддерживаемый кодировщиком диапазонов. Собственный формат файла 7z является открытым и модульным. Имена файлов хранятся в кодировке Unicode. В 2011 году TopTenReviews обнаружили, что сжатие 7z было как минимум на 17% эффективнее, чем ZIP, а на официальном сайте 7-Zip с 2002 года сообщается, что, хотя результаты сжатия сильно зависят от используемых для тестирования данных, "обычно 7-Zip сжимает в формат 7z на 30–70% лучше, чем в формат zip, а 7-Zip сжимает в формат zip на 2–10% лучше, чем большинство других программ, совместимых с zip". Спецификация формата файла 7z распространяется вместе с исходным кодом программы в подкаталоге "doc".

Другие

7-Zip поддерживает множество других форматов архивов со сжатием и без сжатия (как для упаковки, так и для распаковки), включая ZIP, gzip, bzip2, xz, tar и WIM. Утилита также поддерживает распаковку архивов APM, ar, ARJ, chm, cpio, deb, FLV, JAR, LHA/LZH, LZMA, MSLZ, Office Open XML, onepkg, RAR, RPM, smzip, SWF, XAR и Z, а также образов дисков cramfs, DMG, FAT, HFS, ISO, MBR, NTFS, SquashFS, UDF и VHD. 7-Zip поддерживает формат ZIPX только для распаковки. Эта поддержка реализована, по крайней мере, начиная с версии 9.20, выпущенной в конце 2010 года. 7-Zip может открывать некоторые файлы MSI, обеспечивая доступ к метафайлам вместе с основным содержимым. Можно открывать некоторые форматы установщиков Microsoft CAB (с использованием сжатия LZX) и NSIS (LZMA). Аналогично, некоторые исполняемые программы Microsoft (.EXE), являющиеся самораспаковывающимися архивами или содержащие заархивированный контент (например, некоторые установочные файлы), могут быть открыты как архивы. При сжатии файлов ZIP или gzip, 7-Zip использует свой собственный кодировщик DEFLATE, который может обеспечить более высокую степень сжатия, но с меньшей скоростью, чем более распространенная реализация zlib DEFLATE. Реализация кодировщика DEFLATE в 7-Zip доступна отдельно как часть набора инструментов AdvanceCOMP. Движок декомпрессии для архивов RAR был разработан с использованием свободно распространяемого исходного кода программы unRAR, которая имеет лицензионное ограничение, запрещающее создание компрессора RAR. 7-Zip версии 15.06 и более поздние поддерживают извлечение файлов в формате RAR5. Некоторые системы резервного копирования используют форматы, поддерживаемые архиваторами, такими как 7-Zip; например, некоторые резервные копии Android имеют формат tar и могут быть извлечены архиваторами, такими как 7-Zip. 7-Zip ZS, порт 7-Zip FM с поддержкой Zstandard zst (и других форматов), разработан Тино Райхардтом. Modern7z, плагин Zstandard zst (и других форматов) для 7-Zip FM, разработан Денисом Анисимовым (TC4shell).

Версии

Предоставлены две версии командной строки: 7z (7z.exe), использующая внешние библиотеки, и 7za (7za.exe) – автономный исполняемый файл со встроенными модулями, но с поддержкой сжатия и декомпрессии, ограниченной форматами 7z, ZIP, gzip, bzip2, Z и tar. Доступна 64-битная версия, поддерживающая большие объемы памяти, что обеспечивает более быстрое сжатие. Все версии поддерживают многопоточность.

Вилки

p7zip – это форк для Unix-подобных операционных систем (включая Linux, FreeBSD и macOS), FreeDOS, OpenVMS, AmigaOS 4 и MorphOS. Он предоставляет только версию 7za. p7zip zstd (p7zip с поддержкой zstd) – это p7zip с дополнениями ZS. NanaZip – это форк, объединяющий изменения из различных источников и модернизированный для Microsoft Store.

Плагины

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

Комплект разработки программного обеспечения

7-Zip имеет SDK LZMA, который изначально распространялся по двойной лицензии – GNU LGPL и Common Public License, с дополнительным специальным исключением для связанных исполняемых файлов. 2 декабря 2008 года Игорь Павлов поместил SDK в общественное достояние.

Безопасность

В более старых версиях самораспаковывающиеся архивы были уязвимы для произвольного выполнения кода из-за подмены DLL: они загружают и запускают DLL с именем UXTheme.dll, если он находится в той же папке, что и исполняемый файл. В примечаниях к выпуску 7-Zip 16.03 указано, что установщик и SFX-модули получили защиту от атак, связанных с предварительной загрузкой DLL. Версии, предшествующие 23.0, также содержали уязвимость, позволяющую выполнить произвольный код, которая была устранена 7 мая 2023 года.

Прием и использование

Snapfiles.com в 2012 году оценил 7-Zip в 4,5 звезды из 5, отметив, что "[его] интерфейс и дополнительные функции довольно просты, но степень сжатия выдающаяся". На TechRepublic в 2009 году Джастин Джеймс отметил, что детальные настройки для интеграции с проводником Windows были "удобны", а утилиту для тестирования скорости сжатия и разархивирования назвал "полезной". И хотя в диалоговом окне архивации есть настройки, которые "запутывают большинство пользователей", он заключил: "7-Zip занимает удобную нишу между встроенными возможностями Windows и функциями платных продуктов, при этом он способен обрабатывать большое количество различных форматов файлов". В период с 2002 по 2024 год 7-Zip было загружено 428 миллионов раз только с SourceForge. Программа получила награды: в 2007 году SourceForge присудил ей награды по выбору сообщества за "Технический дизайн" и "Лучший проект". В 2013 году Tom's Hardware провел тест скорости сжатия, сравнив 7-Zip, MagicRAR, WinRAR и WinZip, и пришел к выводу, что 7-Zip превзошел все остальные по скорости сжатия, степени сжатия и размеру, и наградил программу премией Tom's Hardware Elite 2013 года.