Архив Tar Gzip (.tar.gz)

POSIX.1 Стандарт

Tar Gzip (.tar.gz, также известный как .tgz) - это стандартный формат распространения программного обеспечения и упаковки архивов в мире Linux и открытого исходного кода, сочетающий в себе нативную упаковку TAR для Unix и универсальное сжатие Gzip.

Анализ и метаданные

Операционные системы и анализаторы файлов идентифицируют файлы TAR.GZ по начальной двоичной последовательности байтов:

Выберите или перетащите файлы сюда

100% конфиденциальное преобразование в браузере - файлы никогда не покидают ваше устройство

или вставьте Ctrl+V
Гарантия конфиденциальности без передачи по сети: 0 байт загружено на внешние серверы. Вся обработка выполняется локально в песочнице вашего браузера.

Сигнатура заголовка на уровне байтов (Magic Bytes)

Операционные системы и анализаторы файлов идентифицируют файлы TAR.GZ по начальной двоичной последовательности байтов:

HEX-СИГНАТУРА (СМЕЩЕНИЕ 0):

1F 8B 08

ПРЕДСТАВЛЕНИЕ ASCII: ..\x08

Стандартизация: POSIX.1 ustar (с оберткой сжатия gzip RFC 1952)

Технические спецификации

Архитектура контейнераПоток архива POSIX ustar / GNU tar, завернутый в контейнер сжатия Gzip RFC 1952
СжатиеДвухэтапная упаковка: сериализация TAR с последующим сжатием DEFLATE
Порядок байтов (Endianness)Оболочка gzip с обратным порядком байтов (Little-Endian), содержащая восьмеричные блоки tar POSIX
Цветовые пространстваН/Д (Архивный контейнер)
Каналы и структураМногофайловые деревья каталогов Unix, символические ссылки, права владения файлами и биты разрешений
Макс. габаритыНеограниченный размер потокового архива
Прозрачность100% побитово точное сохранение структур файловой системы и данных без потерь
Потоковая передача и прогрессивная загрузкаСквозная потоковая передача: одновременное распаковывание и извлечение за один проход

Техническая матрица сравнения: TAR.GZ против конкурентов

Технический атрибутTAR.GZ (Текущий)ZIP7ZTAR.BZ2
Права Unix100% нативное сохранение POSIXОграниченно / часто теряютсяСохраняются базовые атрибуты100% нативное сохранение POSIX
Степень сжатияУмеренная (Gzip DEFLATE)Умеренная (ZIP DEFLATE)Очень высокая (LZMA2)Высокая (Bzip2 BWT)
Скорость распаковкиВысокая (~300 МБ/с)Высокая (~300 МБ/с)Умеренная (~100 МБ/с)Низкая (~40 МБ/с)
Стандарт экосистемы LinuxУниверсальный стандарт по умолчанию для открытого ПОСтандарт для пользовательских ПК по умолчаниюЛюбимец энтузиастов WindowsУстаревшие исходные коды Linux

Типичные режимы повреждения и руководство по восстановлению в HEX

Командная строка сообщает: 'gzip: stdin: invalid compressed data--format violated'.

Первопричина: Поврежденные байты в оболочке Gzip или прерванная загрузка.

Восстановление: Попробуйте частичное восстановление с помощью File2File Archive Extractor или команды 'tar -izxf broken.tar.gz'.

Анализ безопасности и векторы атак на парсер

Архивы TAR.GZ сочетают в себе риски как логических бомб сжатия, так и атак с обходом каталогов при небрежном извлечении.

Известные векторы атак

  • Увеличение объема в стиле ZIP-бомбы, когда крошечный файл .tar.gz разворачивается в терабайты нулей.
  • Обход каталогов (например, '../../root/.ssh/authorized_keys'), перезаписывающий привилегированные файлы.
  • Создание вредоносных узлов устройств во время извлечения с правами root.

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

Исторические истоки и вехи

2015Архитектура распространения контейнеров Docker стандартизирует использование многоуровневых образов rootfs в формате .tar.gz.
1996IETF стандартизирует базовую спецификацию Gzip как RFC 1952.
1993Проект GNU представляет встроенный флаг 'tar -z', закрепляющий .tar.gz в качестве формата пакетов Linux по умолчанию.

Ключевые преимущества и плюсы

  • Бесспорный стандарт для релизов исходного кода с открытым исходным кодом, пакетов Linux и слоев контейнеров Docker.
  • Сочетает в себе полное сохранение разрешений POSIX и символических ссылок с надежным и быстрым сжатием Gzip.
  • Полная поддержка потоковой передачи: может загружаться, распаковываться и извлекаться через сетевые каналы без записи временных файлов на диск.

Технические ограничения и минусы

  • Извлечение одного файла требует распаковки всего архива вплоть до местоположения этого файла.
  • Более низкая степень сжатия по сравнению с современными альтернативами, такими как .tar.xz или .tar.zst.
  • Менее интуитивно понятен в устаревших системах Windows по сравнению с универсальными файлами .zip.

Интересные технические факты

  • В системах MS-DOS с ограничениями длины имен файлов 8.3 расширение '.tar.gz' было сокращено до '.tgz'.
  • Каждый раз, когда вы запускаете 'npm install', npm скачивает и извлекает пакеты .tgz (tar.gz) «под капотом».
  • Пользователи Linux хорошо помнят мнемоническое правило для извлечения файла tar.gz: 'eXtract Ze File': tar -xzf file.tar.gz.

Часто задаваемые технические вопросы

В чем разница между .tar.gz и .zip?

.zip сжимает каждый файл индивидуально и имеет центральный каталог в конце. .tar.gz сначала объединяет все файлы в единый поток, сохраняя полные права Linux и символические ссылки.

Является ли .tgz тем же самым, что и .tar.gz?

Да. .tgz - это просто сокращенное 3-буквенное расширение файла для .tar.gz, изначально созданное для операционных систем с короткими ограничениями имен файлов 8.3, таких как DOS.

Как извлечь файл .tar.gz в Windows?

Вы можете извлекать файлы .tar.gz прямо в веб-браузере с помощью File2File.app без установки WinRAR или 7-Zip.