Как разбить большой архив на части: консольные утилиты и графические программы для Linux и Windows

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Разделение больших архивов на более мелкие части – задача, с которой сталкиваются как системные администраторы, так и обычные пользователи. Причины могут быть разными:

  • Ограничения файловой системы (например, FAT32 не поддерживает файлы > 4 ГБ);
  • Необходимость передать архив по сети, где ограничен размер пакета (email, мессенджеры, облачные хранилища);
  • Удобство хранения и резервного копирования (разные тома на разных носителях);
  • Параллельная загрузка/скачивание нескольких частей.

В этой статье мы подробно рассмотрим, какими средствами (командными утилитами и графическими программами) можно разбить архив на части, какие параметры доступны, а также как собрать его обратно.


Содержание

  1. Разделение архивов в командной строке (Linux/Unix)
  2. Графические программы для Windows
  3. Кроссплатформенные решения
  4. Полезные советы и подводные камни
  5. FAQ

Разделение архивов в командной строке (Linux/Unix)

В Linux есть несколько проверенных утилит, позволяющих разбить любой файл (в т.ч. архив) на части фиксированного размера.

split – стандартный инструмент

Утилита split входит в состав почти всех дистрибутивов GNU coreutils. Она работает с обычными файлами, поэтому может использоваться и для готовых архивов .tar.gz, .zip, .rar и т.п.

Синтаксис:

split [OPTIONS] INPUT_FILE PREFIX

Самый простой пример – разбить файл archive.tar.gz на две части по 100 МБ каждая:

split -b 100M archive.tar.gz archive.tar.gz_

В результате появятся файлы archive.tar.gz_aa и archive.tar.gz_ab. Чтобы увидеть процесс, добавьте параметр --verbose:

split -b 100M archive.tar.gz archive.tar.gz_ --verbose

Разделение на заданное количество частей

Если известен размер исходного файла, но требуется ровно n частей, удобно использовать параметр -n (поддерживается в GNU coreutils ≥ 8.24):

split -n 2 --numeric-suffixes=1 --suffix-length=2 archive.tar.gz part_

Получим файлы part_01 и part_02. Параметр --numeric-suffixes делает суффиксы цифрами, а --suffix-length задаёт их длину.

Сборка обратно

Для восстановления оригинального архива достаточно склеить части командой cat:

cat archive.tar.gz_* > archive.tar.gz

cat part_* > archive.tar.gz

После этого архив можно распаковать привычным способом, например:

tar -xzf archive.tar.gz

Другие полезные утилиты

  • 7z (p7zip) – умеет создавать многотомные архивы: 7z a -v100m archive.7z bigfile.
  • rar – аналогично: rar a -v100m archive.rar bigfile. Обратите внимание, что rar не полностью бесплатен.
  • tar + split – традиционный способ: tar -czf ౼ folder | split -b 100M ౼ archive.tar.gz_.

Графические программы для Windows

Для пользователей, предпочитающих работать в графическом интерфейсе, существует множество архиваторов, поддерживающих функцию «разделить на тома».

WinRAR

  1. Запустите WinRAR и выберите «Добавить» (или нажмите Ctrl+N).
  2. В открывшемся окне перейдите на вкладку «Общие».
  3. Внизу найдите поле «Разделить на тома размером (в байтах)» и укажите нужный размер, например 100M или 2M.
  4. Нажмите OK – архив будет создан в виде файлов archive.part1.rar, archive.part2.rar и т.д.

Для восстановления достаточно открыть первый том (archive.part1.rar) – WinRAR автоматически подхватит остальные.

7‑Zip

7‑Zip также поддерживает многотомные архивы:

  1. Выделите нужные файлы/папки, кликните правой кнопкой → «7‑Zip» → «Добавить к архиву…».
  2. В поле «Разделить на тома, размер» укажите, например, 100M.
  3. Нажмите OK. Файлы получат имена archive.7z.001, archive.7z.002 и т.д.

WinZip

В WinZip процесс аналогичен:

  1. Откройте «Создать/Добавить в архив».
  2. В разделе «Тома» задайте размер тома.
  3. Сохраните – полученные части будут иметь расширения .z01, .z02 …

Total Commander

Встроенный в Total Commander модуль «Разделить файл» (Меню → Файл → Разделить) позволяет быстро разбить любой файл без создания отдельного архива. Выбираете файл, указываете размер тома и нажимаете «ОК». Объединение происходит через пункт «Собрать файл».

Онлайн‑сервисы

Если нет возможности установить программу, можно воспользоваться веб‑инструментами, например Calculators.vip. На сайте загружаете файл, указываете размер части, получаете ссылки для скачивания готовых сегментов.


Кроссплатформенные решения

Для тех, кто работает на разных ОС, удобно использовать инструменты, работающие одинаково в Windows, Linux и macOS.

  • 7‑Zip (p7zip) – доступен в виде консольной утилиты 7z и графической оболочки 7zFM для всех основных платформ.
  • Free File Splitter – небольшая Java‑программа, не требующая установки (работает на любой системе с JRE).
  • HJSplit – классический кроссплатформенный разделитель, доступен в виде .exe и .jar.

Пример использования 7z в кроссплатформенном режиме:

7z a -v100m archive.7z bigfolder

Сборка:

7z x archive.7z.001


Полезные советы и подводные камни

  • Выбирайте размер тома с учётом конечного носителя. Для флешек FAT32 лучше ≤ 2 GB, для CD/DVD – ≤ 700 МБ, для старых USB‑накопителей – ≤ 4 GB.
  • Не меняйте порядок частей. При склеивании через cat порядок важен; лучше использовать нумерацию с ведущими нулями (part_01, part_02).
  • Контроль целостности. После сборки рекомендуется проверить контрольную сумму (MD5, SHA256) оригинального архива.
  • Разделяйте до архивирования, если это возможно. Некоторые форматы (например, tar) позволяют создать несколько небольших архивов вместо одного большого, что упрощает передачу.
  • Учтите, что не все архиваторы умеют «восстанавливать» из середины. Как отмечено в Habr QA, первая часть должна содержать заголовки, иначе последующие части не распакуются.
  • Для больших файлов (> 10 GB) предпочтительнее использовать split + cat в Linux, так как это минимум накладных расходов.

Часто задаваемые вопросы (FAQ)

Можно ли разбить уже существующий архив без его повторного создания?

Да; Утилиты split, 7‑Zip (7z a -v…) и WinRAR позволяют «перекрыть» существующий файл, создавая тома нужного размера. При этом оригинальный архив остаётся неизменным, а новые части – независимыми файлами.

Как собрать части, если они находятся в разных каталогах?

Переместите их в одну папку или укажите полные пути в команде cat:

cat /path/to/part1 /another/path/part2 > archive.tar.gz

Что делать, если одна из частей повреждена?

Большинство архиваторов (7‑Zip, WinRAR) позволяют попытаться восстановить данные, используя функцию «Восстановить архив». Если повреждена только часть, восстановление может быть невозможным – в таком случае понадобится пересоздать эту часть.

Можно ли разбить архив «на лету», без создания промежуточного файла?

Да. В Linux можно использовать конвейер (pipeline):

tar -czf ౼ bigfolder | split -b 500M ౼ archive.tar.gz_

В этом случае tar пишет в стандартный вывод, а split сразу делит поток на части.

Как задать размер тома в мегабайтах, килобайтах или гигабайтах?

В split используется суффикс:

  • k – килобайты (1024 B);
  • m – мегабайты (1024 KB);
  • g – гигабайты (1024 MB).

Пример: split -b 2g largefile.iso part_ создаст тома по 2 ГБ.


Разбить архив на части можно множеством способов – от простейшего split в Linux до полноценных графических архиваторов вроде WinRAR, 7‑Zip и WinZip. Выбор инструмента зависит от ваших предпочтений, операционной системы и конкретных ограничений (размер тома, необходимость контроля целостности, наличие GUI). Главное – помнить о порядке частей и проверять контрольные суммы после сборки, чтобы гарантировать, что восстановленный архив будет полностью рабочим.

Если у вас возникли вопросы или вы хотите поделиться своим опытом, оставляйте комментарии ниже!