7-Zip
Игорь Павлов (Igor Pavlov), автор 7-Zip · лицензия LGPL-2.1-or-later
Упаковывает папки в архивы 7z и zip, закрывает архив 7z паролем вместе с именами файлов, проверяет архивы и распаковывает zip, rar, tar.gz и другие форматы.
✓ Проверено 10.10.2026: Ubuntu 24.04 (x86_64), одноразовый контейнер Docker на сервере: 7-Zip 26.04, готовый архив для Linux x86-64 со страницы загрузки 7-zip.org. Что именно проверяли
Какую задачу решает
Упаковывает папку проекта, выгрузки или документов в архив 7z или zip и распаковывает чужие архивы: zip, rar, tar.gz, iso и десятки других форматов. Архив 7z можно закрыть паролем так, что без него не видно даже имён файлов. На Linux и macOS у 7-Zip есть консольная версия 7zz. В нашем прогоне на Linux хватило одного этого файла и библиотек, которые в контейнере уже были.
- Собирает архив 7z с паролем, ключ -mhe=on шифрует ещё и имена файлов. В нашем прогоне с неверным паролем 7-Zip не открыл список файлов и ответил кодом 2.
- Делает обычный zip для тех, у кого 7-Zip не стоит, в прогоне этот zip без ошибок открыл модуль zipfile Python.
- По readme архива выпуска создаёт архивы 7z, zip, tar, gzip, bzip2, xz и wim, а распаковывает ещё rar, iso, dmg, cab и другие. В прогоне распаковали tar.gz, собранный обычной командой tar из Ubuntu.
- Командой 7zz t проверяет архив целиком, испорченный архив в прогоне дал ошибку Data Error и код 2.
- Ключом -v режет архив на части заданного размера: в прогоне файл на 2 097 152 байта лёг в две части по 1 048 576 байт и третью на 279 байт, а потом собрался обратно без потерь.
Пример результата
Говоришь агенту
Сделай из папки project архив 7z с паролем, чтобы без него не были видны даже имена файлов. Пароль я введу сам, в чат его не пишу. Рядом сделай обычный zip без пароля.
Что получится
Агент даст команду 7zz a -t7z -mx=9 -mhe=on -p backup.7z project/, вы запустите её в своём терминале, и 7-Zip по руководству сам спросит пароль. Рядом агент соберёт project.zip и назовёт размер. Проверку 7z командой 7zz t -p backup.7z вы тоже запустите сами. В прогоне мы передавали тестовый пароль в самой команде, на тестовой папке из 5 файлов на 2 199 537 байт. Архив 7z занял 2 120 065 байт, zip 2 132 816 байт. С неверным паролем 7-Zip вернул код 2, zip без ошибок открыл модуль zipfile Python, файлы из обоих архивов совпали с исходными.
Паспорт
- Кто делает
- Игорь Павлов (Igor Pavlov), автор 7-Zip
- Сайт
- 7-zip.org
- Исходный код
- github.com/ip7z/7zip
- Инструкция
- 7-zip.org/download.html
- Лицензия
- LGPL-2.1-or-later
- Версия
- 26.04 на 10.10.2026
- Системы
- macOS · Windows · Linux
- Где работает
- На компьютере, на сервере и в контейнере
- Цена
- Бесплатно
- Проверка
- Проверено 10.10
Установить агентом
Установи программу «7-Zip». Работай по шагам и после каждого коротко говори, что сделал.
Что это за программа (каталог smyslokod.ru, официальные источники сверены 10.10.2026):
- официальный сайт: https://7-zip.org/
- исходный код: https://github.com/ip7z/7zip
- инструкция по установке: https://7-zip.org/download.html
- актуальная версия на 10.10.2026: 26.04
- лицензия: LGPL-2.1-or-later
- для работы нужно (в отдельных случаях): Homebrew - на Mac 7-Zip ставится через него
Правила:
1. Ничего не устанавливай и не меняй, пока я не скажу «да» на твой план.
2. Ставь только способами из этого промпта. Сторонние сборки, скрипты с форумов и из чужих репозиториев не бери.
3. Мои проекты не трогай: не меняй их файлы, виртуальные окружения и списки зависимостей (package.json, requirements.txt, pyproject.toml).
4. Команды с sudo, правку профиля оболочки (~/.zshrc, ~/.bashrc) и переменной PATH делай только после моего отдельного «да» на каждую.
5. Не проси у меня пароли и ключи и не выводи их. Если нужен пароль администратора, дай команду, я выполню её сам.
6. Чужой архив сначала покажи списком (7zz l), потом распакуй в новую пустую папку ключом -o и назови, что там появилось.
7. Без моего «да» не перезаписывай файлы (-aoa) и не удаляй исходники после упаковки (-sdel).
8. Пароль архива у меня не спрашивай и в команды не вписывай. Дай мне команду с ключом -p без значения, я запущу её сам и введу пароль в запросе 7-Zip.
9. После упаковки проверь архив командой 7zz t и назови его размер и папку.
Шаги:
0. Определи, где ты работаешь: мой компьютер, сервер или контейнер. Какая система и процессор, какие менеджеры пакетов есть (Homebrew, apt, winget, uv, pipx). Ставить нужно туда, где ты сам запускаешь команды.
- на компьютере: на Mac проще поставить через Homebrew, на Windows через winget, на Linux готовым файлом.
- на сервере: окно программе не нужно. Упаковка, проверка и распаковка в нашем прогоне не открыли ни одного сетевого соединения.
- в контейнере: мы проверяли в контейнере Ubuntu 24.04, хватило одного файла 7zz, нужные ему системные библиотеки в контейнере уже были.
1. Проверь, не стоит ли программа уже: command -v 7zz ; which -a 7zz. Если стоит и запускается, ничего не ставь и переходи к шагу 5.
2. Обязательных зависимостей у программы нет, то, что нужно в отдельных случаях, перечислено выше. Проверь свободное место на диске: нужно Файл 7zz 26.04 для Linux x86-64 занял 2 886 216 байт, около 2,9 МБ, архив выпуска весит 1 576 336 байт. Второй файл архива, 7zzs, весит 3 767 416 байт, ставить его не обязательно. Сколько займёт установка через Homebrew или winget, мы не мерили..
3. Составь план: каким одним способом из списка ниже будешь ставить, что появится на диске и сколько места займёт, что поменяется в системе и как потом удалить. Покажи план и жди моего «да».
Способы из официальных источников:
- macOS, Homebrew: brew install sevenzip (формула ставит команду 7zz и библиотеку lib7z, других пакетов для работы не тянет. Версия формулы на 10.10.2026 - 26.04. Удаляет её команда brew uninstall из справки Homebrew. На Mac мы не ставили и не удаляли)
- Windows, winget: winget install -e --id 7zip.7zip (по описанию пакета ставит 7-Zip для всех пользователей компьютера и сам просит права администратора. Консольная команда там называется 7z. Удаляет его команда winget uninstall из документации Microsoft. На Windows мы не ставили и не удаляли)
- Linux, готовый файл с 7-zip.org: curl -LO https://github.com/ip7z/7zip/releases/download/26.04/7z2604-linux-x64.tar.xz && tar -xJf 7z2604-linux-x64.tar.xz 7zz && mkdir -p ~/.local/bin && mv 7zz ~/.local/bin/7zz (это архив для x86-64 по ссылке со страницы загрузки, для arm64 есть 7z2604-linux-arm64.tar.xz. В прогоне мы распаковали архив во временную папку и скопировали файл 7zz в ~/.local/bin. Где держать файл, readme архива не пишет, его примеры вызывают ./7zz. Если ~/.local/bin в PATH нет, команду вызывают полным путём. В архиве есть и 7zzs, по readme он работает без внешних библиотек .so)
4. Установи по согласованному плану. Если что-то идёт не так, как в плане, остановись и спроси.
5. Проверь результат:
- 7zz | head -2: программа запускается без ошибки;
- Сделай тестовую папку: три текстовых файла, таблицу CSV и файл случайных байт. Собери архив 7z с паролем и ключом -mhe=on, убедись, что с неверным паролем список не открывается, проверь архив командой 7zz t и распакуй его в отдельную папку. Сделай обычный zip и открой его другой программой. Распакуй tar.gz, нарежь архив на части по 1 МБ и собери обратно, испорти копию архива и проверь, что 7zz t вернёт ошибку. Сверь контрольные суммы всех распакованных и исходных файлов. Делай это во временной папке и не трогай мои файлы.
7zz
7zz a -t7z -mx=9 -mhe=on -p<пароль> backup.7z project/
7zz l -pwrong backup.7z
7zz t -p<пароль> backup.7z
7zz x -p<пароль> -oout7z backup.7z
7zz a -tzip -mx=5 project.zip project/
7zz x -so other.tar.gz | 7zz x -si -ttar -oouttar
7zz a -t7z -v1m parts.7z project/img/blob.bin
7zz x -ooutvol parts.7z.001
7zz t -p<пароль> broken.7z
- если ты работаешь в папке моего проекта, покажи git status: от установки в проекте не должно появиться изменений.
6. Итог одним сообщением: что установлено, какой версии и куда, сколько места заняло, что поменялось в системе и как всё удалить (macOS, Homebrew: brew uninstall sevenzip; Windows, winget: winget uninstall -e --id 7zip.7zip; Linux, готовый файл с 7-zip.org: rm ~/.local/bin/7zz).
Если на любом шаге ошибка, не чини наугад: покажи текст ошибки и скажи, что, по-твоему, случилось. Частые проблемы: https://smyslokod.ru/cli/7zip#problemyПромпт собран из официальных инструкций, сверенных 10.10.2026. Агент сначала проверит, что уже стоит, покажет план с местом на диске и способом удаления и без твоего «да» ничего не поставит.
Как ставят вручную
Способы из официальных источников, у каждого ссылка на первоисточник.
macOS · Homebrew · источник
brew install sevenzip
формула ставит команду 7zz и библиотеку lib7z, других пакетов для работы не тянет. Версия формулы на 10.10.2026 - 26.04. Удаляет её команда brew uninstall из справки Homebrew. На Mac мы не ставили и не удаляли
Windows · winget · источник
winget install -e --id 7zip.7zip
по описанию пакета ставит 7-Zip для всех пользователей компьютера и сам просит права администратора. Консольная команда там называется 7z. Удаляет его команда winget uninstall из документации Microsoft. На Windows мы не ставили и не удаляли
Linux · готовый файл с 7-zip.org · источник
curl -LO https://github.com/ip7z/7zip/releases/download/26.04/7z2604-linux-x64.tar.xz && tar -xJf 7z2604-linux-x64.tar.xz 7zz && mkdir -p ~/.local/bin && mv 7zz ~/.local/bin/7zz
это архив для x86-64 по ссылке со страницы загрузки, для arm64 есть 7z2604-linux-arm64.tar.xz. В прогоне мы распаковали архив во временную папку и скопировали файл 7zz в ~/.local/bin. Где держать файл, readme архива не пишет, его примеры вызывают ./7zz. Если ~/.local/bin в PATH нет, команду вызывают полным путём. В архиве есть и 7zzs, по readme он работает без внешних библиотек .so
Как удалить
- macOS, Homebrew:
brew uninstall sevenzip - Windows, winget:
winget uninstall -e --id 7zip.7zip - Linux, готовый файл с 7-zip.org:
rm ~/.local/bin/7zz
Что нужно для работы
- Homebrew (в отдельных случаях) - на Mac 7-Zip ставится через него
Системы
- macOS - на странице загрузки есть консольная версия для Mac на arm64 и x86-64, есть формула Homebrew sevenzip. На Mac мы 7-Zip не ставили и не запускали.
- Windows - для Windows есть установщики .exe и .msi и пакет winget 7zip.7zip, в описании пакета консольная команда называется 7z. На Windows мы не проверяли.
- Linux - готовые архивы есть для x86-64, x86, arm64 и arm. В нашем прогоне хватило скопировать файл 7zz в папку из PATH.
Где запускать
Ставить нужно туда, где работает агент: на твой компьютер, сервер или в контейнер.
- На компьютере - на Mac проще поставить через Homebrew, на Windows через winget, на Linux готовым файлом.
- На сервере - окно программе не нужно. Упаковка, проверка и распаковка в нашем прогоне не открыли ни одного сетевого соединения.
- В контейнере - мы проверяли в контейнере Ubuntu 24.04, хватило одного файла 7zz, нужные ему системные библиотеки в контейнере уже были.
Сколько ресурсов нужно
- Место на диске
- Файл 7zz 26.04 для Linux x86-64 занял 2 886 216 байт, около 2,9 МБ, архив выпуска весит 1 576 336 байт. Второй файл архива, 7zzs, весит 3 767 416 байт, ставить его не обязательно. Сколько займёт установка через Homebrew или winget, мы не мерили.
- Видеокарта
- В нашем прогоне видеокарта не понадобилась.
- Сеть
- В нашем прогоне сеть понадобилась только для установки: архив скачивался с github.com, загрузка переадресуется на release-assets.githubusercontent.com, адреса разрешал внутренний DNS-сервер контейнера 127.0.0.11. Упаковка, проверка, распаковка и нарезка на части не открыли ни одного соединения.
Сколько займёт архив, зависит от данных. В нашем прогоне тестовая папка на 2 199 537 байт с 2 097 152 случайными байтами сжалась в 7z до 2 120 065 байт: случайные байты почти не сжимаются.
Лицензия и платные замены
Лицензия LGPL-2.1-or-later. Основная лицензия - GNU LGPL версии 2.1 или новее. Часть кода идёт под BSD 3-clause и BSD 2-clause, а код распаковки RAR - под LGPL с ограничением unRAR: по нему нельзя воссоздавать алгоритм сжатия RAR. По тексту лицензии 7-Zip можно ставить на любой компьютер, в том числе в коммерческой организации, без регистрации и оплаты. Текст лицензии
Цена: Бесплатно. Программа бесплатная, по тексту лицензии регистрироваться и платить не нужно и в коммерческой организации.
Платные замены
- RAR и WinRAR - Архиватор RARLAB, создаёт архивы RAR, которые 7-Zip умеет только распаковывать. Консольный RAR есть для Linux и macOS, на странице загрузки RARLAB он идёт с пробной лицензией. Мы его не ставили.
Бесплатные замены
- libarchive (bsdtar) - Библиотека и консольные программы bsdtar и bsdcpio для чтения и записи tar, cpio, zip, ISO и других форматов архивов. Свободная программа: по файлу COPYING основной код идёт под лицензией BSD с двумя условиями. Мы её не ставили.
О чём помнить
- Безопасность. Агент запускает 7zz в терминале сам (exec). Программа читает файлы и папки, которые агент назвал в команде, и сами архивы (read). Новые архивы и распакованные файлы 7-Zip пишет с правами пользователя по пути, который задаёт агент: имя архива в команде или папка из ключа -o, без него распаковка идёт в текущую папку (write). По руководству ключ -aoa перезаписывает уже лежащие файлы без вопроса, ключ -sdel после упаковки удаляет исходные файлы с диска, команда d удаляет файлы из архива (acts). В сеть 7-Zip в нашем прогоне не ходил, своего входа не просит.
- Чужие архивы обрабатывает код разбора форматов. В описаниях выпусков 26.01-26.04 перечислены исправленные в нём уязвимости, в том числе в разборе XZ, NTFS, UDF, WIM и SquashFS. Держите 7-Zip свежим и распаковывайте чужие архивы в новую пустую папку.
- По руководству у zip имена файлов не шифруются никогда. Если zip закрыть паролем, данные по умолчанию шифруются старым способом ZipCrypto, а AES-256 включает ключ -mem=AES256. Секретное лучше класть в 7z с ключом -mhe=on.
- Пароль, переданный ключом -p в команде, агент видит и может оставить в журнале своих команд. Поэтому упаковку и проверку архива с паролем запускайте у себя сами: с ключом -p без значения 7-Zip по руководству спросит пароль. В нашем прогоне тестовый пароль стоял в команде скрипта.
- Части архива (ключ -v) по руководству нельзя копировать и открывать до конца упаковки: в конце 7-Zip может переписать любую часть, включая первую.
- Если в системе уже есть команды 7z, 7za или 7zr, это может быть p7zip, отдельный порт другого автора. По readme 7-Zip его последняя версия 16.02 устарела. Эта карточка про 7zz.
Частые проблемы
ERROR: backup.7z : Cannot open encrypted archive. Wrong password?, код выхода 2
Неверный пароль у архива, где зашифрованы и имена файлов (-mhe=on). В прогоне так ответила команда 7zz l с неверным паролем. Спроси у владельца архива верный пароль. Подобрать его 7-Zip не поможет.
ERROR: Data Error in encrypted file. Wrong password? при верном пароле, код 2
Архив повреждён, в прогоне так ответила 7zz t на копии архива с испорченными байтами. Скачай или скопируй архив заново и проверь его командой 7zz t до распаковки.
После 7zz x файла нет там, где его ждали
Команда x распаковывает с полными путями, как они записаны в архиве. В прогоне файл лёг в outvol/project/img/. Посмотри пути командой 7zz l. Чтобы сложить файлы в одну папку без подпапок, есть команда e.
7zz не запускается, система пишет об отсутствующих библиотеках .so
По readme архива 7zz рассчитан на библиотеки .so, которые стоят в системе, а нужных нет. Возьми из того же архива 7zzs: по readme он собран без внешних библиотек .so.
Проверка
✓ Проверено 10.10.2026: Ubuntu 24.04 (x86_64), одноразовый контейнер Docker на сервере: 7-Zip 26.04, готовый архив для Linux x86-64 со страницы загрузки 7-zip.org.
- Когда
- 10.10.2026
- Среда
- Ubuntu 24.04 (x86_64), одноразовый контейнер Docker на сервере: 7-Zip 26.04, готовый архив для Linux x86-64 со страницы загрузки 7-zip.org
- Объём
- Установили и прогнали задачу на тестовых данных
- Что именно сделали
- Одноразовый контейнер Ubuntu 24.04 без данных и ключей. Скачали архив 7z2604-linux-x64.tar.xz (1 576 336 байт) по ссылке со страницы загрузки 7-zip.org и сверили его контрольную сумму sha256 с той, что указана у выпуска на GitHub.
- Распаковали архив во временную папку и скопировали файл 7zz в ~/.local/bin. Он занял 2 886 216 байт, первая строка вывода: «7-Zip (z) 26.04 (x64) : Copyright (c) 1999-2026 Igor Pavlov : 2026-10-05». Ничего больше ставить не пришлось.
- Скрипт прогона сам сделал тестовую папку из пяти файлов на 2 199 537 байт: три текстовых файла, таблица CSV на 5000 строк и файл из 2 097 152 случайных байт.
- Собрали архив 7z с тестовым паролем в команде и ключом -mhe=on, он занял 2 120 065 байт. С неверным паролем 7-Zip не открыл даже список файлов и вернул код 2. Командой 7zz t проверили архив, распаковали его в отдельную папку, все пять файлов совпали с исходными по sha256.
- Собрали обычный zip на 2 132 816 байт и открыли его модулем zipfile Python: ошибок нет, все пять файлов совпали с исходными. Распаковали tar.gz, собранный обычной командой tar из Ubuntu, файлы совпали.
- Нарезали файл на 2 097 152 байта в архив из трёх частей (две по 1 048 576 байт и одна на 279 байт) и собрали обратно, файл совпал. Испортили 64 байта в копии архива 7z: команда 7zz t вывела Data Error и вернула код 2.
- Исходные файлы после всех операций не изменились. Каждый результат скрипт сверил сам и только после этого напечатал TASK_OK.
- Сетевые соединения записаны по этапам. Архив скачивался с github.com и release-assets.githubusercontent.com, адреса разрешал внутренний DNS-сервер контейнера 127.0.0.11. Упаковка, проверка и распаковка не открыли ни одного соединения.
- Удалили файл ~/.local/bin/7zz и проверили, что команда 7zz больше не находится. Контейнер после прогона удалён вместе со всеми тестовыми файлами.
| Дата | Версия | Объём | Где | Итог |
|---|---|---|---|---|
| 10.10.2026 | 26.04 | задача | контейнер, Linux | получилось |
| 10.10.2026 | 26.04 | задача | контейнер, Linux | получилось |
«Проверено» ставим, только когда сами поставили программу и прогнали её на задаче. Сверка ссылок и вывод версии так не называются.
Похожие программы
- rcloneКопирует проект, базу и материалы в облако: Яндекс Диск, хранилища S3, WebDAV. Агенту нужна, чтобы сделать резервную копию, сверить её с оригиналом и не потерять файлы.
- qpdfСклеивает и режет PDF, поворачивает страницы, ставит и снимает пароль. Содержимое страниц сохраняет, текст и картинки остаются в файле.
Программу делают её авторы. Мы сверяем официальные источники и описываем, что ей нужно, но код остаётся чужим. Перед установкой посмотри план агента: что он поставит и что поменяет в системе.