Конвертер TGZ в TAR

Снимите слой сжатия GZIP и получите чистый TAR-контейнер для редактирования и пересборки

Без установки программ • Быстрая конверсия • Конфиденциально и безопасно

Шаг 1

Перетащите файлы или выберите

Вы можете конвертировать 3 файла до 10 МБ каждый

Шаг 1

Перетащите файлы или выберите

Вы можете конвертировать 3 файла до 10 МБ каждый

Что такое конвертация TGZ в TAR?

Конвертация TGZ в TAR - это снятие слоя сжатия GZIP с архива и получение чистого TAR-контейнера. Файлы внутри сохраняются полностью неизменными байт в байт, как и сама структура UNIX-tarball: записи по 512 байт, заголовки с метаданными, блоки данных. Меняется только то, что архив больше не сжат алгоритмом DEFLATE. TGZ (TAR + GZIP) - это композитный формат: внутренний TAR-контейнер, обёрнутый внешним слоем GZIP. Расширения .tgz и .tar.gz обозначают одно и то же. TAR (Tape ARchive) появился в UNIX в 1979 году как формат для последовательной записи данных на магнитные ленты и за десятилетия стал универсальным контейнером для группировки файлов с сохранением POSIX-атрибутов.

Главная причина снятия GZIP-сжатия - получить возможность работать с содержимым архива без ограничений потокового сжатия. Чистый TAR можно открывать средствами файловых менеджеров на любых системах, добавлять и удалять файлы внутри без полной пересборки, применять другие алгоритмы сжатия (BZIP2, XZ, ZSTD), индексировать, проверять побайтно. TGZ за счёт сплошного сжатия не позволяет ничего из перечисленного без полной распаковки.

При конвертации архив проходит через единственный шаг: декодирование DEFLATE в исходный TAR-поток. Никаких изменений в составе файлов или структуре каталогов не происходит. Размер итогового TAR увеличивается, потому что слой сжатия снят, но взамен архив становится "прозрачным" для всех инструментов работы с TAR.

Технические различия форматов TGZ и TAR

Структура форматов

TGZ - это двухслойная конструкция. Внутренний слой - стандартный TAR-архив, состоящий из последовательности записей: заголовок 512 байт + данные файла, выровненные до кратного 512 байт. Внешний слой - GZIP, оборачивающий весь TAR-поток в сжатый контейнер с собственным заголовком (магические байты 1f 8b), флагами и контрольной суммой CRC-32. Файл .tgz всегда читается линейно с начала до конца.

TAR - это одноуровневый контейнер без сжатия. Каждая запись - заголовок ustar (512 байт), за которым следуют байты файла. Конец архива - два пустых блока по 512 байт. TAR хранит полные UNIX-атрибуты: владельца (имя и UID), группу (имя и GID), права доступа в восьмеричной форме, временные метки в Unix-time, тип файла (обычный, каталог, символическая ссылка, FIFO, устройство).

Сравнительная таблица возможностей

Характеристика TGZ TAR
Сжатие DEFLATE через GZIP Нет
Размер Сжат на 50-80% для текста Полный размер исходных данных
Извлечение одного файла Требует распаковки до позиции Прямое извлечение по смещению
Добавление файлов Полная пересборка Прямое добавление в конец
Удаление файлов Полная пересборка Удаление с пересборкой / маркировка
POSIX-атрибуты Сохраняются Сохраняются полностью
UID/GID Сохраняются Сохраняются
Символические ссылки Сохраняются Сохраняются
Жёсткие ссылки Сохраняются Сохраняются
Расширенные атрибуты (xattr) Через PAX Через PAX
Индексирование Нет Возможно
Просмотр без распаковки Нет Да

Размер файлов: реальные примеры

Соотношение размеров для типичных наборов данных:

Тип данных Исходный размер TGZ TAR Прирост в TAR
Исходный код проекта 100 МБ 18-22 МБ 100 МБ + 1-3% в 5-6 раз
Текстовые документы 50 МБ 12-14 МБ 50 МБ + 1-3% в 4-5 раз
Дамп SQL базы 200 МБ 35-45 МБ 200 МБ + 1-3% в 5-6 раз
Изображения JPG 500 МБ 498-500 МБ 500 МБ + 1-3% минимально
Видеофайлы MP4 1 ГБ 0.995-1 ГБ 1 ГБ + 1-3% минимально
Смешанный контент 250 МБ 130-180 МБ 250 МБ + 1-3% в 1.5-2 раза

Прирост 1-3% в TAR относительно исходных файлов объясняется накладными расходами на заголовки записей и выравнивание блоков. Для медиафайлов и других уже сжатых форматов TGZ практически не отличается от TAR по размеру.

Когда необходима конвертация TGZ в TAR

Модификация содержимого архива

Чистый TAR позволяет работать с содержимым без полной распаковки и пересжатия:

  • Добавление новых файлов - утилиты позволяют дописывать записи в конец TAR-архива без необходимости распаковывать всё.
  • Удаление устаревших файлов - средствами командной строки или специализированных программ можно вырезать конкретные записи.
  • Замена отдельных файлов - обновление конфигурационных файлов или документов в составе архива.
  • Объединение нескольких архивов - конкатенация TAR-файлов с последующей дефрагментацией.

Применение другого алгоритма сжатия

После получения чистого TAR можно перепаковать его с другим методом сжатия:

  • TAR -> XZ - получить лучшее сжатие, чем у GZIP, на 10-30% компактнее за счёт LZMA2.
  • TAR -> BZ2 - переход на алгоритм BWT для лучшего сжатия текстовых данных.
  • TAR -> ZSTD - современный алгоритм с высокой скоростью и сравнимым с XZ сжатием.
  • TAR -> LZ4 - сверхбыстрое сжатие для частого доступа.

Прямой доступ к отдельным файлам

В чистом TAR можно построить индекс смещений и обращаться к файлам без последовательного чтения:

  • Каталоги документов - извлечение конкретного PDF из тысяч хранящихся.
  • Наборы изображений - доступ к одному изображению из миллионов в архивах фотобанков.
  • Логи с метками времени - извлечение записей за конкретный день из годового архива.

Передача через системы, не поддерживающие GZIP

Некоторые встроенные системы и старые UNIX-окружения работают только с чистым TAR:

  • Embedded-устройства - маршрутизаторы, IoT-шлюзы с ограниченным программным обеспечением.
  • Минимальные образы Docker и LXC - базовые контейнеры без GZIP-утилит.
  • Загрузочные ISO-образы - дистрибутивы, использующие TAR в качестве промежуточного формата.

Контроль целостности и аудит

Чистый TAR удобен для аудита содержимого:

  • Сверка контрольных сумм - можно вычислить SHA-256 каждого файла внутри без распаковки в файловую систему.
  • Антивирусная проверка - сканеры эффективнее работают с прозрачным TAR-потоком.
  • Цифровая подпись - проще подписать конкретный TAR без зависимости от GZIP-обёртки.

Процесс конвертации

Этапы преобразования

  1. Чтение заголовка GZIP - проверяются магические байты, метод сжатия (для GZIP это обычно DEFLATE), флаги (наличие имени исходного файла, комментария, дополнительных полей).

  2. Декодирование DEFLATE - алгоритм обратно строит исходный поток данных из сжатого: применяется обратное преобразование LZ77 (восстановление повторений по ссылкам) и кодов Хаффмана (преобразование префиксных кодов в исходные байты).

  3. Проверка контрольной суммы - GZIP содержит CRC-32 от исходных несжатых данных. Несовпадение означает повреждение архива.

  4. Запись TAR-потока - восстановленные байты сохраняются как .tar файл. Это и есть исходный TAR-контейнер, который был сжат внутри TGZ.

  5. Финализация - файл закрывается, метаданные файловой системы (имя, временные метки) проставляются согласно ОС.

Что сохраняется, а что меняется

Сохраняется полностью:

  • Все файлы и каталоги внутри архива (байт в байт)
  • POSIX-атрибуты (права доступа, владелец, группа)
  • Временные метки модификации, доступа и создания
  • Символические и жёсткие ссылки
  • Специальные типы файлов (FIFO, устройства)
  • Расширенные атрибуты в формате PAX

Меняется:

  • Размер файла на диске (увеличивается до исходного несжатого)
  • Расширение (.tgz/.tar.gz -> .tar)
  • Возможность извлечения отдельных файлов (становится прямой)

Не меняется ничего из содержимого - конвертация TGZ -> TAR абсолютно lossless по составу архива.

Сравнение TAR с другими форматами

TAR против ZIP

ZIP - универсальный формат с собственным сжатием, TAR - чистый контейнер.

Критерий TAR ZIP
Сжатие Нет DEFLATE
POSIX-атрибуты Полные Через расширения
Доступ к файлу По смещению По центральному каталогу
Размер файла Без ограничений До 4 ГБ (или ZIP64)
Совместимость с UNIX Идеальная Хорошая
Совместимость с Windows Через программы Нативная

TAR предпочтительнее в UNIX-средах, где важны атрибуты и нет нужды в сжатии "из коробки".

TAR против CPIO

CPIO - другой UNIX-формат архивирования, аналог TAR.

Критерий TAR CPIO
Размер заголовка 512 байт 76-110 байт
Поддержка длинных имён Через PAX Естественная
Распространённость Очень высокая Средняя
Использование Дистрибутивы, бэкапы initrd, RPM

TAR доминирует в общем использовании, CPIO остаётся в специфических нишах.

TAR против ISO

ISO 9660 - формат образов оптических дисков.

Критерий TAR ISO 9660
Назначение Архивирование Образы дисков
Файловая система Контейнер Полная ФС
Загрузочность Нет Да
Случайный доступ Через индекс Нативный

TAR - для архивирования, ISO - для образов дисков и установочных носителей.

Совместимость и поддержка TAR

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

TAR - один из самых поддерживаемых форматов в UNIX-семействе:

  • Linux - команда tar присутствует в каждом дистрибутиве из коробки. GUI-архиваторы (File Roller, Ark, Engrampa) открывают TAR двойным кликом.
  • macOS - команда tar входит в стандартную поставку. Archive Utility распаковывает TAR через Finder.
  • FreeBSD, OpenBSD, NetBSD - tar присутствует в базовой системе.
  • Solaris, AIX, HP-UX - tar - часть стандартного набора UNIX-утилит.
  • Windows - команда tar встроена в Windows 10 (build 17063+) и Windows 11. GUI-программы 7-Zip, WinRAR, PeaZip открывают TAR.
  • Android и iOS - файловые менеджеры с поддержкой архивов работают с TAR.

Языки программирования

Стандартные библиотеки большинства языков включают поддержку TAR:

Язык Стандартная библиотека
Python модуль tarfile
Java apache-commons-compress
C# / .NET SharpZipLib, SharpCompress
JavaScript / Node.js tar, tar-stream
Go пакет archive/tar
Rust tar-rs
Ruby rubygems-tar
Perl Archive::Tar

История развития формата

  • 1979 - первая реализация tar для UNIX версии 7.
  • 1988 - стандартизация POSIX в виде ustar (Uniform Standard Tape ARchive).
  • 1992 - расширение GNU tar с поддержкой длинных имён через специальные записи.
  • 2001 - стандарт PAX (POSIX Archive Interchange) с расширенными атрибутами.
  • Настоящее время - TAR остаётся доминирующим архивным контейнером в UNIX-мире и используется как основа для TAR.GZ, TAR.BZ2, TAR.XZ, TAR.ZST.

Ограничения и альтернативы

Когда конвертация в TAR нецелесообразна

  • Ограничения по дисковому пространству - чистый TAR занимает больше места, что критично при ограниченных ресурсах.
  • Передача по медленным каналам - размер выше, чем у TGZ, время передачи увеличится.
  • Долгосрочное хранение - для архивирования предпочтительнее форматы со сжатием.

Альтернативные сценарии

  • TGZ -> TAR.XZ - получить лучшее сжатие при сохранении формата TAR.
  • TGZ -> TAR.BZ2 - сжатие средней силы с хорошей поддержкой в Linux.
  • TGZ -> TAR.ZST - современный алгоритм ZSTD: быстрая распаковка и хорошее сжатие.

Конвертация в чистый TAR оптимальна для промежуточного шага: получить контейнер, модифицировать содержимое, применить новое сжатие. Для конечного хранения или передачи обычно выбирают сжатую форму.

Для чего используют конвертацию TGZ в TAR

Модификация содержимого архива

Снятие сжатия для добавления, удаления или замены файлов внутри архива без полной пересборки

Подготовка к перепаковке

Получение промежуточного TAR для последующего применения XZ, BZ2 или ZSTD-сжатия

Прямой доступ к файлам

Извлечение отдельных файлов по смещениям без последовательной распаковки всего архива

Аудит и проверка целостности

Получение прозрачного контейнера для антивирусного сканирования и подсчёта контрольных сумм

Советы по конвертации TGZ в TAR

1

Учитывайте рост размера

Чистый TAR без сжатия для текстовых данных может быть в 4-6 раз больше исходного TGZ. Освободите достаточно места перед конвертацией

2

Используйте TAR как промежуточный формат

Конвертация в TAR оптимальна как шаг к перепаковке в другой алгоритм сжатия (XZ, BZ2, ZSTD) или для модификации содержимого

Частые вопросы

Зачем переводить TGZ в TAR, если архив станет больше?
Чистый TAR удобен для модификации содержимого без полной распаковки, индексирования и применения другого алгоритма сжатия. Промежуточный формат TAR полезен, когда планируется добавлять файлы, удалять устаревшие записи или перепаковать архив с лучшим сжатием (XZ, BZ2, ZSTD).
Сохранятся ли все файлы и атрибуты при конвертации?
Да, конвертация TGZ в TAR абсолютно lossless. Сохраняется всё: содержимое файлов байт в байт, имена, структура каталогов, права доступа POSIX, владельцы и группы, временные метки, символические и жёсткие ссылки, специальные типы файлов.
Можно ли открыть TAR-архив в Windows?
Да, начиная с Windows 10 (build 17063+) команда tar встроена в систему. Также TAR открывают популярные GUI-архиваторы: 7-Zip, WinRAR, PeaZip, BandiZip - все они доступны бесплатно или с пробным периодом.
На сколько увеличится размер файла после снятия GZIP?
Размер вернётся к исходному (несжатому) объёму с небольшой надбавкой 1-3% за счёт TAR-заголовков. Для текстовых данных рост может быть в 4-6 раз по сравнению с TGZ. Для уже сжатых файлов (изображения JPG, видео MP4) рост минимальный.
Что если TGZ-архив повреждён?
Если повреждение в начале или середине архива, GZIP-обёртка может не открыться - DEFLATE требует целостного потока. При повреждении в конце возможно частичное извлечение TAR-данных. Рекомендуется предварительно проверить целостность утилитами уровня gunzip -t.
Можно ли потом сжать TAR другим алгоритмом?
Да, это типичный сценарий. Чистый TAR можно сжать в TAR.XZ для лучшего сжатия, в TAR.BZ2 для классической UNIX-совместимости, в TAR.ZST для современного баланса скорости и сжатия. Каждый алгоритм имеет свои сильные стороны для разных типов данных.
Можно ли конвертировать несколько TGZ в TAR за один раз?
Да, пакетная конвертация позволяет загрузить несколько TGZ-архивов одновременно. Каждый файл будет преобразован в отдельный TAR с тем же базовым именем. Скачать результаты можно по каждому файлу после завершения обработки.