7z редко встречается в дистрибутивах по умолчанию — ни установленного архиватора, ни поддержки в файловом менеджере из коробки. Зато когда кто-то прислал архив в этом формате или нужно создать максимально сжатый бэкап — приходится разбираться. Разбираем от установки до нестандартных сценариев.
Почему 7z а не zip
Алгоритм LZMA2 который использует 7z даёт на 10–40% лучшее сжатие чем Deflate в ZIP. На практике это означает что архив весом 500 МБ в zip может сжаться до 350–380 МБ в 7z при тех же данных. Для текстовых файлов, баз данных и исходного кода разница ещё заметнее.
Из минусов — слабее поддержка на всех платформах по сравнению с zip, и медленнее распаковка на слабом железе из-за интенсивного использования CPU.
Установка p7zip
В Linux для работы с 7z нужен пакет p7zip-full. Он включает и консольную утилиту 7z, и библиотеку которую используют графические архиваторы.
Debian / Ubuntu / Mint:
sudo apt install p7zip-full
Red Hat / CentOS / Rocky / AlmaLinux:
sudo yum install p7zip p7zip-plugins
Fedora:
sudo dnf install p7zip p7zip-plugins
Arch Linux / Manjaro:
sudo pacman -S p7zip
Проверить что установилось:
7z i
Выведет список поддерживаемых форматов и алгоритмов.
Распаковка через p7zip
Самый простой способ — утилита p7zip. Распаковывает в текущую директорию:
p7zip -d file.7z

Если архив зашифрован — p7zip сам спросит пароль. Выбрать целевую папку через p7zip нельзя — только текущая директория. Для гибкой распаковки используется 7z.
Распаковка через 7z: полный контроль
7z — основная утилита с полным набором параметров. Два ключевых режима распаковки:
x — распаковать с сохранением структуры директорий:
7z x file.7z
e — распаковать все файлы плоско, без вложенных папок:
7z e file.7z
Разница важна когда в архиве есть подпапки. x воссоздаст всю структуру, e свалит всё в одну директорию.
Распаковать в конкретную папку
Флаг -o задаёт целевую директорию. Важно: пробел между -o и именем папки не ставится:
7z x file.7z -o/home/user/unpacked
Распаковать во временную папку рядом с архивом:
7z x file.7z -o./extracted
Распаковать в домашний каталог — тильда ~ не работает, нужен полный путь:
7z x file.7z -o/home/username/
Если написать ~/folder — 7z создаст папку с буквальным именем ~ рядом с архивом.
Просмотр содержимого без распаковки
Посмотреть что внутри архива:
7z l file.7z
Найти файлы с определённым расширением внутри архива:
7z l file.7z -r "*.sql"
Выборочная распаковка
Распаковать только файлы с расширением .db:
7z e file.7z -r "*.db"
Распаковать конкретный файл по имени:
7z e file.7z config.json
Распаковать конкретный файл сохранив путь:
7z x file.7z "backup/configs/nginx.conf"
Запароленный архив
Если архив защищён паролем — 7z спросит его интерактивно. Или передать сразу в командной строке флагом -p:
7z x file.7z -pMYPASSWORD
Без пробела между -p и паролем.
Создать 7z архив
7z умеет не только распаковывать. Создать архив из папки:
7z a archive.7z /path/to/folder/
С максимальным сжатием (уровень 9):
7z a -mx=9 archive.7z /path/to/folder/
С паролем и шифрованием имён файлов:
7z a -p -mhe=on archive.7z /path/to/folder/
-mhe=on шифрует не только содержимое но и имена файлов внутри архива — без пароля не видно даже структуры.
Разбить архив на части по 500 МБ:
7z a -v500m archive.7z /path/to/folder/
Графические архиваторы с поддержкой 7z
Все они используют библиотеку p7zip-full под капотом — поэтому сначала нужно установить её.
| Архиватор | Среда | Установка |
|---|---|---|
| File Roller | GNOME | предустановлен |
| Ark | KDE | предустановлен |
| Engrampa | MATE | предустановлен |
| PeaZip | GTK/Qt | snap install peazip |
| Xarchiver | универсальный | apt install xarchiver |
PeaZip — наиболее функциональный из графических: поддерживает создание с паролем, разбивку на тома и шифрование через GUI.
Если возникла ошибка при распаковке
Can not open output file — недостаточно прав в целевой директории. Проверить права или сменить папку распаковки.
Wrong password — неверный пароль. Попробовать с кавычками если пароль содержит спецсимволы: -p"my password".
Unexpected end of archive — архив повреждён или скачан не полностью. Проверить размер файла и при необходимости скачать заново.
Cannot allocate memory — не хватает ОЗУ для распаковки. Уменьшить количество потоков: 7z x file.7z -mmt=2.
Проверить целостность архива без распаковки:
7z t file.7z
t (test) — прогоняет весь архив через проверку CRC без записи файлов на диск.
Шпаргалка
| Задача | Команда |
|---|---|
| Установить p7zip | sudo apt install p7zip-full |
| Распаковать в текущую папку | 7z x file.7z |
| Распаковать в конкретную папку | 7z x file.7z -o/path/to/folder |
| Распаковать с паролем | 7z x file.7z -pPASSWORD |
| Посмотреть содержимое | 7z l file.7z |
| Распаковать только .sql файлы | 7z e file.7z -r "*.sql" |
| Проверить целостность | 7z t file.7z |
| Создать архив | 7z a archive.7z /folder/ |
| Создать с максимальным сжатием | 7z a -mx=9 archive.7z /folder/ |
| Создать с паролем + шифр имён | 7z a -p -mhe=on archive.7z /folder/ |
| Разбить на тома по 500 МБ | 7z a -v500m archive.7z /folder/ |