Гид по технологиям

Как сжать и разбить файлы в Ubuntu

• 6 min read • Linux • Обновлено 29 Nov 2025
Сжать и разбить файлы в Ubuntu
Сжать и разбить файлы в Ubuntu

Важно: повторное сжатие уже сжатых файлов (JPG, MP4, ZIP) даёт мало эффекта; для них лучше использовать режим «store» в архиваторах.

Зачем сжимать и разбивать файлы

Кратко: большие файлы неудобно передавать по сети, хранить на файловых системах с лимитами размера файлов или загружать на сервисы с ограничением по объёму. Разбиение на части позволяет:

  • отправлять файлы по электронной почте или загружать на файлообменники с лимитами;
  • хранить бэкапы на носителях с ограничениями по размеру;
  • облегчить ресумируемую загрузку и передачу.

Определения в одну строку:

  • Сжатие — уменьшение размера данных путём кодирования избыточности.
  • Разбиение — разделение одного файла на несколько частей фиксированного размера.

Основные варианты и их применение

H1 (главная идея): один архив можно разделить на части двумя основными подходами:

  1. Классический набор Unix-инструментов (tar + bzip2 + split) — всегда доступен и хорошо контролируется.
  2. Современные архиваторы (7z/p7zip) — дают лучшее сжатие и удобнее собирают части при распаковке.

Ниже — подробные шаги и рекомендации по каждому варианту.

Классический подход: tar + bzip2 + split

Когда использовать: если вы хотите минимизировать внешние зависимости и сохранить совместимость с POSIX-утилитами.

  1. Откройте терминал (CTRL+ALT+T). Перейдите в папку с большим файлом и создайте подпапку для частей:
mkdir split
cd split
  1. Сожмите и одновременно разлейте поток на части. Команда создаёт tar-архив, сжимает его bzip2 и передаёт на вход split:
tar -cvjf - ~/Data/Windows10.iso | split -b 50m -d - "Windows10_ISO.tar.bz."

Объяснение:

  • tar -c создаёт архив, -v показывает процесс, -j включает bzip2, -f - означает «записать в stdout»;
  • split -b 50m делит поток на части по 50 мегабайт (замените 50m на любое значение, например 700m для записи на CD);
  • опция -d указывает числовую нумерацию частей, а последняя строка — базовое имя файлов, к которому split добавит номера.

Результат: в папке split появятся файлы вида Windows10_ISO.tar.bz.00, Windows10_ISO.tar.bz.01 и т. д.

  1. Восстановление оригинала: сначала соберите части в один файл, затем извлеките архив:
cat Windows10_ISO.tar.bz.* > Windows10_ISO.tar.bz
tar -xvjf Windows10_ISO.tar.bz

Советы и примечания:

  • Проверяйте суммы частей (md5/sha256) перед пересылкой, чтобы убедиться, что файлы не повреждены.
  • Для быстрой компрессии можно заменить -j (bzip2) на -z (gzip) — gzip быстрее, но хуже сжимает.

Современное решение: 7zip (p7zip)

Когда использовать: если нужна лучшая степень сжатия и простое восстановление — 7z автоматически читает многотомные архивы.

Установка p7zip на Ubuntu:

sudo apt update
sudo apt install p7zip-full

Создание многотомного архива (каждая часть — 50 МБ):

7z -v50m a Windows10_iso.7z ~/Data/Windows10.iso

Объяснение:

  • -v50m задаёт размер тома (50 мегабайт);
  • a — команда добавить (archive);
  • Windows10_iso.7z — базовое имя архива; 7z создаст файлы Windows10_iso.7z.001, Windows10_iso.7z.002 и т. д.

Извлечение: для распаковки достаточно запустить распаковщик по первой части — 7z автоматически прочитает все остальные:

7z e Windows10_iso.7z.001

Плюсы 7z:

  • выше сжатие по сравнению с gzip/bzip2 для многих типов данных;
  • поддержка шифрования и проверки целостности;
  • удобная работа с многотомными архивами.

Когда разбиение и сжатие не помогут (контрпримеры)

  • Уже сжатые форматы (JPEG, MP4, PNG, MP3) почти не уменьшатся при повторном сжатии — потеря времени и CPU.
  • Шифрованные контейнеры и некоторые бинарные форматы имеют низкую сжимаемость.
  • Разбиение не уменьшит количество файлов: если требуется отдельная компрессия каждой записи, лучше архивировать по файлам.

Альтернативные инструменты и подходы

  • pigz — многопоточный gzip; полезен, если вам важна скорость и есть многоядерный CPU: tar -cvf - . | pigz -p 8 > archive.tar.gz
  • plzip — многопоточный LZMA/LZMA2 (аналог bzip2, но с поддержкой многопоточности)
  • zstd — современный компрессор с хорошим компромиссным соотношением скорости/сжатия и поддержкой уровней; имеет встроенный режим для потоков и разбиения

Выбор зависит от приоритетов: скорость (pigz), степень сжатия (7z, zstd), совместимость (gzip/tar).

Шпаргалка команд (cheat sheet)

  • Создать подпапку и перейти в неё:
mkdir split
cd split
  • tar + bzip2 + split (50 МБ части):
tar -cvjf - /путь/к/файлу | split -b 50m -d - "Имя_архива.tar.bz."
  • Собрать части и распаковать:
cat Имя_архива.tar.bz.* > Имя_архива.tar.bz
tar -xvjf Имя_архива.tar.bz
  • 7z: создать тома по 50 МБ и распаковать:
7z -v50m a archive.7z /путь/к/файлу
7z e archive.7z.001
  • Проверить целостность (пример для 7z):
7z t archive.7z.001

Критерии приёмки (проверки успешности)

  • Все части присутствуют и имеют ожидаемые размеры.
  • Контрольные суммы совпадают (md5/sha256) для исходного и восстановленного архива.
  • Распаковка завершилась без ошибок, файлы читаемы и корректны.

Режимы зрелости и выбор для задач

  • Экспериментальная/разовая передача: используйте 7z для простоты и лучшего сжатия.
  • Регулярные резервные копии: автоматизируйте process с tar + zstd/pigz + split и храните контрольные суммы.
  • Корпоративный бэкап с шифрованием: используйте 7z с шифрованием или создавайте зашифрованные контейнеры (LUKS) перед разделением.

Роль‑ориентированные чеклисты

Администратор:

  • выбрать компрессор по бюджету CPU/IO;
  • настроить периодическое тестовое восстановление;
  • хранить контрольные суммы и логи.

Разработчик / пользователь:

  • определить размер тома согласно целевому каналу передачи;
  • тестировать распаковку на чистой машине;
  • использовать явные пути и имена для автоматизации.

Отказ и откат (краткий runbook)

Если архив не распаковывается:

  1. Проверьте, все ли части присутствуют (ls -l Имя_архива.*).
  2. Проверьте контрольные суммы (sha256sum).
  3. Попробуйте собрать части в единый файл и выполнить тест распаковки: tar -tvjf или 7z t.
  4. Если отдельная часть повреждена, попытайтесь получить её заново от отправителя или из резервной копии.

Безопасность и конфиденциальность

  • Если архив содержит личные или критичные данные, шифруйте его до передачи (7z поддерживает AES-256).
  • Храните пароли для архивов в надёжном менеджере паролей; не пересылайте их вместе с частями архива.
  • Для юридических требований (GDPR и др.) обеспечьте шифрование и журналирование доступа к архивам.

Быстрые рекомендации (на одну строку)

  • Нужна максимальная совместимость — gzip + tar, разбиение через split.
  • Нужна максимальная степень сжатия — p7zip (7z).
  • Нужна скорость на многопроцессорной машине — pigz или plzip.

Краткий словарь

  • tom (том) — одна часть многотомного архива;
  • stdout — стандартный поток вывода в Unix;
  • split — утилита для разделения данных на части.

Заключение

Сжатие и разбиение файлов в Ubuntu — стандартная задача, решаемая как классическими инструментами (tar + split), так и современными архиваторами (7z). Выбор зависит от требований к совместимости, скорости и степени сжатия. Всегда проверяйте целостность, храните контрольные суммы и шифруйте чувствительные данные.

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

Compress Split Files In Ubuntu Featured

Compress Split Files In Ubuntu Original File Size

Compress Split Files In Ubuntu Mkdir Split

Compress Split Files In Ubuntu Cd Split

Compress Split Files In Ubuntu Compressed Split Files

Compress Split Files In Ubuntu Compressed Split Files Size

Compress Split Files In Ubuntu Install P7zip

Compress Split Files In Ubuntu 7z Compressing

Compress Split Files In Ubuntu 7z Compression Finished

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро