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

POSIX.1 Стандарт

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

Аналіз та метадані

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

Виберіть або перетягніть файли сюди

Приватно - файли ніколи не залишають ваш пристрій

або вставте Ctrl+V
Гарантія конфіденційності без передавання даних мережею: Жодного байта не передано на зовнішні сервери. Уся обробка відбувалася локально в ізольованому середовищі браузера.

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

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 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, що охоплює вісімкові блоки POSIX tar
Колірні просториНе застосовується (Архівний контейнер)
Канали та структураБагатофайлові дерева каталогів Unix, символічні посилання, права власності на файли та біти дозволів
Максимальні розміриНеобмежений розмір потокового архіву
Прозорість100% побітово точне збереження структур файлової системи та даних без втрат
Потокове та прогресивне завантаженняНаскрізний потоковий конвеєр: декомпресія та витягування одночасно за один прохід

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

Технічний атрибутTAR.GZ (Поточний)ZIP7ZTAR.BZ2
Дозволи UnixЗберігає метадані POSIX, які підтримують архів і засіб розпакуванняОбмежені / часто втрачаютьсяЗберігаються базові дозволиВибрані метадані POSIX, які підтримує засіб розпакування
Коефіцієнт стисненняПомірний (Gzip DEFLATE)Помірний (ZIP DEFLATE)Дуже високий (LZMA2)Високий (Bzip2 BWT)
Швидкість декомпресіїШвидка (~300 МБ/с)Швидка (~300 МБ/с)Помірна (~100 МБ/с)Повільна (~40 МБ/с)
Стандарт екосистеми LinuxУніверсальний стандарт із відкритим кодомСтандарт для домашніх комп'ютерівФаворит серед ентузіастів WindowsЗастарілі випуски вихідного коду Linux

Типові режими пошкодження та посібник з відновлення в шістнадцятковому форматі

У командному рядку з'являється повідомлення 'gzip: stdin: invalid compressed data--format violated'.

Першопричина: Пошкоджені байти в оболонці Gzip або незавершене завантаження.

Відновлення: Спробуйте часткове відновлення за допомогою File2File.app 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.

Основні переваги

  • Проєкти програмного забезпечення часто публікують архіви вихідного коду у форматі .tar.gz, оскільки TAR групує дерево каталогів, а Gzip стискає потік.
  • .tar.gz може зберігати дозволи та символічні посилання у шарі TAR. Відновлення залежить від засобу розпакування й цільової ОС, тож після розпакування на іншій платформі перевірте дозволи.
  • Повністю потоковий: можна завантажувати, розпаковувати та витягувати через мережеві канали без запису тимчасових файлів на диск.

Технічні обмеження та недоліки

  • Витягування одного файлу вимагає розпакування всього архіву до місця розташування цього файлу.
  • Нижчий коефіцієнт стиснення порівняно з сучасними альтернативами, такими як .tar.xz або .tar.zst.
  • У старих системах Windows ним менш зручно користуватися, ніж широко підтримуваним форматом ZIP.

Цікаві технічні факти

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

Поширені технічні запитання

Яка різниця між .tar.gz і .zip?

.zip зберігає файли з центральним каталогом, а .tar.gz стискає потік TAR за допомогою Gzip. Збереження метаданих залежить від архіву та налаштувань розпакування.

Чи є .tgz тим самим, що й .tar.gz?

Так. .tgz: це скорочена трилітерна версія розширення .tar.gz, створена для операційних систем, у яких діє обмеження на довжину імен файлів формату 8.3, наприклад DOS.

Як розпакувати файл .tar.gz у Windows?

Ви можете витягувати файли .tar.gz безпосередньо у своєму веб-браузері за допомогою File2File.app без необхідності встановлювати WinRAR чи 7-Zip.