Два формата и две разные задачи
Архив нужен, чтобы упаковать много файлов в один и, как правило, уменьшить объём. Но выбор формата влияет не только на размер. Он определяет, сможет ли получатель открыть архив без установки программ, и насколько удобно будет разбивать результат на части.
ZIP старше и распространён шире. Windows умеет создавать и распаковывать ZIP через контекстное меню: «Отправить», «Сжатая ZIP-папка». В macOS команда «Сжать» в Finder тоже создаёт ZIP, а открывается он двойным щелчком. Поэтому для письма знакомому, который не разбирается в программах, ZIP обычно подходит больше.
Формат 7z создан для плотной упаковки и чаще всего даёт файл меньше, чем ZIP, особенно для текстов, документов и однотипных данных. Но открыть его без дополнительной программы в штатной оболочке получится не везде. Нужно установить 7-Zip или другой архиватор, который поддерживает этот формат.
Выбор сводится к вопросу «кто получит архив и что для него важнее». Если важна простота открытия, берите ZIP. Если файлов много, место ограничено, а у получателя установлен архиватор, 7z способен сэкономить объём. Но если внутри уже сжатые данные, то есть JPEG, видео или PDF, разница между форматами может оказаться небольшой, потому что сжимать уже нечего.
Прежде чем упаковывать, подумайте, нужен ли архив вообще. Одиночный файл можно отправить как есть, а папку с несколькими документами удобно упаковать, чтобы не терять отдельные части и сохранить структуру каталогов. Архив также помогает сохранить дату изменения файлов и их иерархию при передаче между системами.
Что сравнивать на практике
Таблица собирает типичные различия. Конкретные цифры зависят от содержимого и настроек, поэтому тестируйте на своих файлах.
| Признак | ZIP | 7z |
|---|---|---|
| Открытие без установки программ | Windows и macOS открывают штатно | Нужен архиватор, например 7-Zip |
| Плотность сжатия | Обычно ниже | Обычно выше |
| Разбиение на тома | Поддерживается некоторыми программами | Поддерживается в 7-Zip |
| Фотографии, видео, PDF | Почти не уменьшаются | Тоже почти не уменьшаются |
| Скорость упаковки | Обычно выше | Обычно ниже при высоком уровне сжатия |
Из таблицы следует практический вывод. Если вы упаковываете папку со снимками и роликами, ради экономии места формат менять не стоит, а вот папка с текстовыми документами, таблицами и исходным кодом может заметно уменьшиться в 7z.
Имя и кодировка названий внутри архива тоже могут стать причиной проблем. Если файлы с кириллицей в имени при распаковке на другом компьютере превращаются в непонятные знаки, значит, программа неверно определила кодировку. В таком случае помогает распаковка в программе, которая позволяет выбрать кодировку, а для будущих архивов можно использовать латиницу в названиях.
Разбиение архива на тома в 7-Zip
Разбивка на части нужна, когда ограничен размер вложения, на носителе файловая система не принимает крупные файлы или передача по сети нестабильна и проще перекачать один том, чем весь архив. Ограничение файловой системы FAT32 на размер отдельного файла подробно разобрано на странице о выборе системы для внешнего диска.
В 7-Zip порядок такой:
- Выделите файлы или папку, откройте контекстное меню 7-Zip и выберите добавление в архив.
- В окне настроек выберите формат: 7z или zip. Многотомные архивы zip, созданные таким способом, обычно открываются только программами, которые умеют собирать такие тома, поэтому для разбиения проще выбрать 7z.
- Найдите поле «Разбить на тома размером» и укажите размер части, например 100M для ста мегабайт.
- Запустите упаковку. В папке появятся файлы с расширениями .001, .002 и далее: например, архив.7z.001, архив.7z.002.
Для распаковки положите все части в одну папку и откройте первый том. Программа сама найдёт остальные. Если хотя бы одной части не хватает или она повреждена, распаковка завершится ошибкой, поэтому после передачи пересчитайте файлы и сравните их размеры с исходными.
Размер тома выбирайте с запасом относительно ограничения. Если лимит вложения составляет двадцать пять мегабайт, том стоит брать заметно меньше: при отправке по почте вложения кодируются и занимают больше места, чем исходный файл (нередко примерно на треть). Для носителя с ограничением на размер файла достаточно взять значение немного ниже предела, а число частей получится само.
Разрезание любого файла командой split
Разбить можно не только архив, но и любой большой файл. В Linux и macOS для этого есть команда split. Пример для файла размером в несколько гигабайт: split -b 100M большой.zip большой.zip.часть-. На macOS суффикс размера в этой утилите может записываться строчной буквой (например, 100m): уточните в справке команды. На выходе получатся файлы с добавленными окончаниями aa, ab, ac и далее, каждый размером до 100 мегабайт.
Склеить части обратно можно командой cat: cat большой.zip.часть-* > большой.zip. Важно, чтобы части подставились в правильном порядке; обычно сортировка по алфавиту его обеспечивает, поскольку окончания идут последовательно.
После склейки стоит сверить результат с оригиналом. Для этого вычисляется контрольная сумма файла, а затем сравнивается с суммой, которую назвал отправитель.
- Linux: sha256sum имя_файла
- macOS: shasum -a 256 имя_файла
- Windows, в командной строке: certutil -hashfile имя_файла SHA256
Если значения совпадают, файл собран без искажений. Если нет, значит, одна из частей повреждена или склеена в неверном порядке, и стоит запросить её заново. Подробнее о командах упаковки в терминале читайте в материале про tar.gz.
Когда нужен пароль и что делать с большими архивами
Архив с паролем не равен защищённому хранилищу: надёжность зависит от выбранного режима шифрования и от самого пароля. Разница между слабой защитой и стойкой разобрана на отдельной странице, здесь важно только одно: если вы разбиваете зашифрованный архив на тома, пароль потребуется при открытии первого тома, а все части должны быть целыми.
Несколько практических замечаний о больших архивах:
- на сбойные носители и ненадёжные каналы лучше передавать несколько небольших томов, чем один огромный файл;
- перед отправкой перечислите получателю имена файлов и их размеры, чтобы он мог проверить комплект;
- не удаляйте исходные файлы, пока получатель не подтвердил, что архив открылся;
- для долгого хранения учтите, что повреждение одного тома может сделать недоступным весь многотомный архив, поэтому держите вторую копию.
Выбор между единым архивом и многотомным определяют ограничения канала передачи. Если вы передаёте данные по домашней сети или на съёмном диске, разбиение обычно не требуется. Подробнее о способах передачи без облака — на странице про передачу больших файлов.