Helionix

Как распаковать GZ в TAR или обычный файл

Как определить содержимое GZIP, безопасно восстановить имя, обработать TAR и одиночный поток, проверить CRC и ограничить распакованный размер.

Расширение .gz означает GZIP-сжатие потока, но не говорит наверняка, что находится после распаковки. Это может быть один журнал access.log, дамп базы данных, CSV или TAR-контейнер со множеством файлов. Поэтому правильная операция состоит из двух частей: снять слой GZIP и определить тип полученных данных.

Конвертер Helionix выполняет анализ локально. Если полезная нагрузка является TAR, можно получить TAR либо преобразовать его записи в ZIP. Если внутри обычный файл, инструмент возвращает именно его или помещает в новый ZIP для удобной передачи.

Как распаковать GZ

  1. Выберите файл с расширением .gz.
  2. Дождитесь проверки заголовка и контрольной суммы GZIP.
  3. Посмотрите, определён ли внутренний поток как TAR или отдельный файл.
  4. Выберите результат: TAR, исходный файл либо ZIP.
  5. Скачайте данные и проверьте размер, имя и открытие в целевой программе.

Распаковать GZ онлайн →

Как отличить TAR.GZ от обычного GZ

Имя backup.tar.gz — полезная подсказка, но доверять только расширению нельзя. После GZIP-декодирования программа проверяет структуру TAR: служебные блоки и контрольные поля заголовков. Если они корректны, перед нами TAR. Если нет, поток следует рассматривать как один самостоятельный файл, а не пытаться выдумать каталог.

Исходное имяВозможная нагрузкаОжидаемый результат
logs.tar.gzTAR с каталогамиlogs.tar или ZIP
report.csv.gzОдин CSVreport.csv
dump.gzНеизвестный потокОпределить по содержимому

Откуда берётся имя файла

Заголовок GZIP может содержать исходное имя, но это поле необязательно и не должно слепо использоваться как путь. Оно могло быть удалено, обрезано или специально подделано. Безопасный инструмент оставляет только допустимую базовую часть, удаляет переходы между каталогами и при необходимости просит задать имя. Расширение выбирают по сигнатуре либо по известному назначению данных.

Несколько GZIP-потоков в одном файле

Формат допускает последовательные GZIP-члены. Некоторые программы объединяют их распакованное содержимое, другие показывают только первый. Для совместимости важно, чтобы конвертер явно сообщил о нескольких членах и применил предсказуемую политику. Нельзя автоматически считать каждый член отдельным файлом: GZIP не содержит полноценного каталога, как ZIP.

Ошибки CRC и неполный поток

В конце GZIP находятся проверочные данные. Ошибка означает повреждение, обрыв загрузки или несоответствие декодированных байтов. Даже если начало удаётся прочитать, такой результат нельзя считать полной копией. Повторите получение источника или восстановите его из резервной копии; смена контейнера не создаёт утраченные данные.

Защита от слишком большого результата

Небольшой GZ способен распаковаться в очень большой поток. До операции полезно установить лимит на итоговый объём и следить за прогрессом. В браузере это защищает память вкладки и свободное место устройства. Для неизвестных файлов применяйте особенно консервативные ограничения и не запускайте извлечённые программы автоматически.

Проверка после распаковки

Сравните фактический размер с данными GZIP, если они доступны, и вычислите SHA-256 результата для дальнейшего контроля. TAR дополнительно откройте как архив и проверьте его записи. Обычный документ откройте подходящим приложением. Сам хеш GZ с хешем распакованного файла совпадать не должен.

Не удаляйте исходный GZ сразу после первого успешного открытия. Сохраните его до проверки прикладного формата: CSV должен корректно читать строки и кодировку, дамп — проходить проверку соответствующей СУБД, а TAR — показывать полное ожидаемое дерево без ошибок заголовков.

Можно ли определить тип только по расширению

После снятия GZIP анализируйте сигнатуру, структуру и назначение данных. Текст без расширения может быть журналом, CSV или дампом, а произвольные байты не следует автоматически открывать как программу. Если формат неизвестен, сохраните нейтральное имя, вычислите хеш и уточните происхождение файла. Ошибочное расширение не меняет содержимое, но провоцирует неверную обработку приложением.

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

Почему после распаковки получился TAR?

Потому что GZIP сжимал единый TAR-поток. Откройте TAR или сразу преобразуйте его в ZIP.

Можно ли распаковать GZ без имени исходного файла?

Да. Данные сохраняются, а безопасное имя можно назначить вручную.

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

Для хорошо сжимаемого текста это нормально. Важно заранее ограничивать допустимый размер.

Открыть и преобразовать GZ →