Ситуация, когда большой файл или архив не помещается на флешку, не загружается в облако или почту из-за ограничений по размеру, знакома многим․ Решение — создание многотомного (разбитого на части) архива․ В этой статье мы подробно разберем, как это сделать в самых популярных программах на Windows и Linux, а также ответим на частые вопросы․
Содержание
- Что такое многотомный архив и как это работает
- Способ 1: WinRAR (Windows) — самый популярный вариант
- Способ 2: 7-Zip (Windows) — бесплатная альтернатива
- Способ 3: Total Commander (Windows), без архивации
- Способ 4: Linux (консоль) — zip, split, tar
- Как собрать (распаковать) части обратно
- Важные нюансы и ответы на вопросы
Что такое многотомный архив и как это работает
Многотомный архив (или томный архив) — это один логический архив, физически разбитый на несколько файлов определенного размера․
- При создании: Архиватор пакует данные и, достигнув заданного лимита размера, закрывает текущий файл и создает следующий․
- Номенклатура: Обычно файлы называются
archive․part1․rar,archive․part2․rar․․․ (WinRAR/7-Zip) илиarchive․z01,archive․z02,archive․zip(старый формат ZIP)․ - Зависимость: Все части неразрывно связаны․ Вы не можете распаковать вторую часть отдельно от первой, так как словарь сжатия и заголовки находятся в первом томе․ Потеря даже одного тома делает восстановление всего архива невозможным (если не используется запись информации для восстановления — Recovery Record)․
Способ 1: WinRAR (Windows)
Это самый распространенный и удобный способ для пользователей Windows․ WinRAR отлично справляется с файлами любого размера (включая > 4 ГБ и > 360 ГБ, как упоминалось в источниках)․
Инструкция:
- Нажмите правой кнопкой мыши на файл или папку, которую хотите заархивировать․
- Выберите «Добавить в архив․․․» (Add to archive․․․)․
- В открывшемся окне перейдите на вкладку «Общие» (General)․
- Найдите поле «Разделить на тома размером (в байтах)» (Split to volumes, bytes)․
- Введите желаемый размер части․ Можно писать в байтах, или использовать суффиксы:
100Mили100MB— 100 Мегабайт1Gили1GB, 1 Гигабайт4480m— для записи на DVD (примерно 4․48 ГБ)
- (Опционально) На вкладке «Дополнительно» можно установить пароль и включить «Запись информации для восстановления» (Recovery Record), это поможет восстановить данные при повреждении одного из томов․
- Нажмите «ОК»․ WinRAR создаст файлы
имя․part1․rar,имя․part2․rarи т․д;
Способ 2: 7-Zip (Windows) — Бесплатно и Open Source
Если вы не хотите покупать лицензию WinRAR, 7-Zip — лучший бесплатный аналог․ Он создает архивы формата ․7z (лучшее сжатие) или ․zip․
- Установите 7-Zip (если нет)․
- ПКМ по файлу/папке → 7-Zip → «Добавить в архив․․․»․
- В поле «Разделить на тома, байт» (Split to volumes, bytes) введите размер или выберите из выпадающего списка стандартные значения (1․44MB, 100M, 650M, 700M, 4GB и др․)․
- Рекомендуется оставить формат архива 7z (метод сжатия LZMA2) для максимальной эффективности․
- Нажмите «ОК»․
Результат: Файлы будут названы имя․7z․001, имя․7z․002 и т․д․
Способ 3: Total Commander (Windows) — Разбивка без сжатия
Если файл уже является архивом (или это любой другой большой файл: видео, образ диска, бэкап) и вы не хотите тратить время на перепаковку, Total Commander умеет просто «пилить» файл на куски заданного размера․
- Откройте Total Commander и перейдите в папке с файлом․
- Выделите нужный файл (например,
photo․7zилиbackup․tar)․ - В верхнем меню выберите Файл → Разбить файл․․․ (File → Split file․․․)․
- В появившемся окне укажите:
- Имя выходного файла (базовое имя для частей);
- Размер части (в байтах, Кб, Мб, Гб)․
- Нажмите «ОК»․
Результат: Файлы вида имя․001, имя․002․
Сборка: В том же меню Файл → Собрать файл․․․ (File → Combine files․․․)․ Выбираете первый файл (․001), указываете куда сохранить результат, готово․ Это работает мгновенно, так как нет процесса распаковки/паковки․
Способ 4: Linux (Терминал)
В Linux есть несколько подходов в зависимости от задачи․
Вариант А: Создание многотомного ZIP-архива сразу (без создания промежуточного гигантского файла)
Стандартная утилита zip с ключом -s (split) позволяет это сделать «на лету»․ Это решает проблему, описанную в источниках (нельзя создать 2ГБ архив, чтобы потом его разбить)․
zip -s 500m -r archive_name․zip /path/to/folder -s 500m— размер тома 500 МБ (можноg,k)․-r— рекурсивно (для папок)․
Создастся archive_name․zip, archive_name․z01, archive_name․z02․․․ Последний файл всегда ․zip, предыдущие — ․z01, ․z02․
Вариант Б: Разбить УЖЕ ГОТОВЫЙ большой файл/архив (аналог Total Commander)
Используйте утилиту split․ Она не архивирует, а просто режет байты․
# Разбить файл bigfile․tar на части по 1 ГБ
split -b 1G bigfile․tar "bigfile․tar․part․"
cat bigfile․tar․part․* > bigfile․tar Вариант В: tar + split (классический конвейер)
Пакет и сразу режем, не создавая полный файл на диске:
tar cvzf — /path/to/data | split -b 100M ‒ archive․tar․gz․part․ Вариант Г: 7z в Linux (кроссплатформенно)
Если установлен p7zip-full:
7z a -v500m archive․7z /path/to/folder Как собрать (распаковать) части обратно
Главное правило: Все части должны находиться в одной папке и иметь оригинальные имена (не переименовывайте их вручную)․
Windows (WinRAR / 7-Zip):
- Положите все части (
․part1․rar,․part2․rar;․․ или․7z․001,․7z․002․․․) в одну директорию․ - Нажмите ПКМ только на первый том (
․part1․rarили․001)․ - Выберите «Распаковать сюда» (Extract here) или «Распаковать в․․․»․
- Программа сама найдет остальные части и соберет исходный файл․
Linux (для ZIP):
# unzip умеет работать с многотомными архивами автоматически, если запустить первый файл
unzip archive_name․zip Linux (для файлов, разбитых через split / Total Commander):
cat file․part․* > original_file
cat file․001 file․002 file․003 > original_file Важные нюансы и ответы на частые вопросы
Можно ли разделить архив на 2 независимые части?
Нет, стандартными средствами архиваторов, нельзя․ Как верно замечено в источниках (Хабр QA), современные архиваторы используют сплошное сжатие (solid compression) и общий словарь․ Данные в второй половине архива ссылаются на словарь, построенный на первой половине․
Обходные пути:
- Разбить исходные файлы на две группы вручную и заархивировать их отдельно․
- Использовать Total Commander / split для разрезания готового архива «топором» по байтам, но тогда для распаковки обязательно нужно будет сначала склеить части обратно в один файл (через cat или «Собрать файл»), и только потом распаковывать․