Что такое формат файла TGZ?
tgz - это формат архива, создаваемый инструментом GNUzip (Gzip). Этот формат никак не связан с форматом Windows ZIP. Файлы .tgz хранят архивы TAR, сжатые с помощью алгоритма DEFLATE через gzip. Расширение .tgz эквивалентно .tar.gz - это один и тот же формат; .tgz - это просто краткая форма, совместимая с именами файлов 8.3, введённая для соответствия ограничению DOS/Windows на длину имени файла.
GNUzip возник на системах Unix и был создан для замены более старого формата архивирования compress. Gzip был создан как бесплатная замена compress и другим запатентованным алгоритмам сжатия, использовавшимся в то время. Запись .tar.gz более популярна на платформах, похожих на Unix, тогда как форма .tgz часто встречается в Windows. Пакеты программного обеспечения для дистрибутивов Linux - включая исходные релизы и системные утилиты - часто распространяются в виде архивов .tgz.
Поскольку gzip сжимает весь поток TAR как один сплошной блок, а не сжимает файлы по отдельности, невозможно перечислить или извлечь один файл без полной распаковки потока. Архивы .tgz содержат сигнатуру магии gzip (1F 8B 08) по смещению 0; внутренняя структура TAR становится видна только после распаковки. Архивы gzip, содержащие данные TAR, в IT и кругах с открытым исходным кодом часто называют «tarballs».
Безопасность и защита
РИСК: LOWФорматы tar+gzip открыты и безопасны, а .tgz - это просто сжатые данные, которые не могут выполняться сами по себе. Стандартная осторожность при работе с архивами: .tgz из ненадёжного источника может содержать скрипты или исполняемые файлы, которые становятся видимыми только после извлечения, поэтому перед запуском чего-либо сканируйте содержимое. Два технических примечания: очень маленький .tgz может расшириться в огромное количество данных («bomb of decompression»), а члены tar могут содержать пути '../' (пробел в пути / 'tar slip') - современные средства извлечения защищают от этого, но извлекайте ненадёжные tarballs в пустую папку.
Детали формата
в двух словахПрограммы, открывающие файлы TGZ
Технические подробности
глубокая спецификация| Структура контейнера | Архив TAR, обёрнутый в один поток gzip; файлы не сжимаются по отдельности, а как единый сплошной поток |
| Алгоритм сжатия | DEFLATE через gzip (RFC 1952); весь TAR-пакет сжимается как один непрерывный блок |
| Кодировка | Двоичная |
| Порядок байтов | Little-endian (поля заголовка gzip хранятся в порядке little-endian) |
| Магические байты | `1F 8B 08` по смещению 0 файла (байты ID1/ID2 gzip + флаг метода DEFLATE); внутренний TAR показывает `ustar` по смещению 257 только после распаковки |
| MIME-тип | `application/gzip`; альтернативы включают `application/x-gzip`, `application/x-compressed-tar`, `application/x-gtar` |
| Связь с .tar.gz | Идентичный двоичный формат; `.tgz` - псевдоним `.tar.gz`, безопасный для имен файлов 8.3, введённый для совместимости с DOS/Windows |
| Типичное использование | Исходные релизы программного обеспечения Linux/Unix, системные резервные копии, распространение наборов данных, архивы пакетов |
| Шифрование | Отсутствует встроенное; gzip и tar не обеспечивают шифрование - шифруйте отдельно (например, с помощью GPG) до или после архивирования |
| Проверка целостности | В подвале gzip содержится CRC-32 и ISIZE (не сжатый размер mod 2^32); каждый заголовок TAR на 512 байт также несёт своё поле контрольной суммы |
| Размер заголовка TAR | 512 байт на запись, хранят имя файла, права доступа, владельца и временные метки; длинные имена поддерживаются через расширения GNU или pax |
| Варианты формата TAR | v7, USTAR (POSIX.1-1988), GNU tar, POSIX pax (POSIX.1-2001) - все могут быть обёрнуты в `.tgz` |
| Лимит количества файлов | По сути неограниченно; файлы последовательно добавляются в поток tar без жёсткого лимита |
| Случайный доступ | Не поддерживается; поток gzip должен быть распакован с начала, прежде чем можно будет прочитать или извлечь любой отдельный элемент |
| Типичный размер файла | Сотни КБ до нескольких ГБ (исходные tarballs, резервные копии, архивы наборов данных) |
| Поддержка платформ | Нативно в Linux, Unix и macOS; Windows 10 и 11 включают встроенную команду `tar` с поддержкой `.tgz` |
| Выпущен | tar (1979, Unix V7); gzip (1992); .tgz is the DOS/8.3-safe form of .tar.gz |
| Последняя версия | POSIX.1-2001 (pax) tar + gzip RFC 1952 |
| Открыть стандартное | Да · без роялти |
| Спецификация | www.rfc-editor.org |
Конвертации TGZ
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах TGZ.
Часто задаваемые вопросы
Что такое файл TGZ?
В чём разница между .tgz и .tar.gz?
Как открыть файл TGZ в Windows?
tar -xzf file.tgz в терминале.Как открыть TGZ на Mac?
Как извлечь TGZ в один шаг в Linux?
tar -xzf file.tgz. Чтобы создать архив: tar -czf archive.tgz folder/.