7-Zip — бесплатный архиватор с открытым кодом¶
7-Zip — бесплатный файловый архиватор с открытым исходным кодом, разработанный российским программистом Игорем Павловым. Программа работает в операционных системах Windows, Linux и macOS, распространяется под лицензией GNU LGPL и поддерживает широкий набор форматов сжатия, включая собственный формат 7z с высокой степенью сжатия.
¶История
Разработку 7-Zip Игорь Павлов начал в 1999 году. Первые версии программы распространялись на условиях GNU LGPL и поддерживали формат 7z, разработанный как замена устаревающему RAR и проприетарным архиваторам. Уже в ранних выпусках 7-Zip обеспечивал сжатие с использованием алгоритма LZMA — метода сжатия, предложенного Павловым и основанного на Lempel-Ziv-цепочках с адаптивным словарём.
В 2000-е годы 7-Zip получил широкое распространение благодаря сочетанию бесплатной лицензии, отсутствия рекламы и высокой эффективности сжатия. Программа стала одним из самых популярных архиваторов для Windows, а формат 7z — одним из распространённых способов передачи больших объёмов данных в интернете. В 2010-е годы появилась официальная сборка для Linux (p7zip), а позже — порты для macOS.
¶Формат 7z
Формат 7z — собственный формат архивов 7-Zip. Он поддерживает сжатие с помощью методов LZMA, LZMA2, PPMd, BCJ, BCJ2, а также несжатое хранение. Архивы 7z используют 64-битные заголовки, что позволяет создавать архивы объёмом до 16 эксабайт (16 × 10¹⁸ байт) и хранить в них практически неограниченное количество файлов.
Структура архива 7z состоит из двух блоков: открытого заголовка в конце файла и сжатого заголовка в начале. Такая схема позволяет хранить в архиве произвольные данные в начале файла (например, данные самораспаковывающегося архива или данные для запуска с носителя без распаковки).
¶Поддерживаемые форматы
7-Zip умеет распаковывать архивы множества форматов, включая проприетарные. Список основных поддерживаемых форматов:
| Формат | Распаковка | Упаковка |
|---|---|---|
| 7z | да | да |
| ZIP | да | да |
| GZIP, BZIP2, XZ, ZSTD | да | да |
| TAR | да | да |
| RAR | да | нет |
| ISO, CAB, ARJ, LZH, CHM | да | нет |
| RPM, DEB, CPIO | да | нет |
Формат RAR поддерживается только для распаковки, поскольку алгоритмы RAR являются закрытыми и принадлежат разработчику WinRAR.
¶Алгоритм LZMA и LZMA2
LZMA (Lempel–Ziv–Markov chain Algorithm) — алгоритм сжатия, предложенный Игорем Павловым в 1998 году. Он сочетает словарный метод LZ77 с цепью Маркова и кодированием диапазонов, обеспечивая высокую степень сжатия при приемлемой скорости распаковки. LZMA2 — улучшенная версия алгоритма, использующая разбиение потока на независимые блоки и позволяющая распараллеливать сжатие.
LZMA и LZMA2 используются не только в 7-Zip, но и в других программах и форматах: например, в XZ (обёртка над LZMA2) и в прошивках прошивок роутеров и встраиваемых систем.
¶Интерфейс и интеграция
7-Zip состоит из двух компонентов: файлового менеджера (7zFM.exe) и командной строки (7z.exe). В Windows программа интегрируется в контекстное меню проводника, позволяя распаковывать и создавать архивы в один клик. По умолчанию 7-Zip не имеет графического интерфейса в стиле «мастера» — управление выполняется через меню и панель инструментов.
В Linux и macOS 7-Zip работает преимущественно через командную строку; официальный пакет p7zip распространяется через репозитории дистрибутивов.
¶Применение
7-Zip применяется для сжатия файлов при хранении и передаче, создания резервных копий, дистрибутивов программного обеспечения и игровых модов. Формат 7z часто используется для публикации больших файлов на файлообменниках, поскольку обеспечивает лучшее сжатие, чем ZIP, при поддержке длинных имён файлов и Unicode.
¶Примечания
Игорь Павлов неоднократно отмечался в российской и международной IT-прессе как автор одного из самых распространённых архиваторов в мире. 7-Zip входит в состав множества Linux-дистрибутивов и предустанавливается в некоторых сборках Windows.
Источники:
- Официальный сайт 7-Zip (7-zip.org)
- Документация по формату 7z
- Статья Игоря Павлова «LZMA SDK»
- Страница проекта p7zip на SourceForge
