Архив Tar Gzip (.tar.gz)
POSIX.1 СтандартTar Gzip (.tar.gz, известен и като .tgz) е стандартният формат за софтуерна дистрибуция и архивно опаковане в света на Linux и софтуера с отворен код, съчетаващ нативното за Unix TAR опаковане с универсалната Gzip компресия.
Инспектиране и метаданни
Операционните системи и файловите анализатори идентифицират TAR.GZ файлове чрез проверка на началната двоична байтова последователност:
Байтов подпис на хедъра (Magic Bytes)
Операционните системи и файловите анализатори идентифицират TAR.GZ файлове чрез проверка на началната двоична байтова последователност:
HEX ПОДПИС (ОФСЕТ 0):
1F 8B 08ASCII ПРЕДСТАВЯНЕ: ..\x08
Стандартизация: POSIX.1 ustar (RFC 1952 gzip wrapped)
Технически спецификации
| Контейнерна архитектура | POSIX ustar / GNU tar archive stream wrapped inside an RFC 1952 Gzip compression container |
| Компресия | Two-stage packaging: TAR serialization followed by DEFLATE compression |
| Поредност на байтовете (Endianness) | Little-Endian gzip envelope wrapping octal POSIX tar blocks |
| Цветови пространства | N/A (Archive Container) |
| Канали и структура | Multi-file Unix directory trees, symlinks, file ownership, and permission bits |
| Максимални размери | Unbounded streaming archive size |
| Прозрачност | 100% bit-exact lossless preservation of filesystem structures and data |
| Стрийминг и прогресивно зареждане | End-to-end pipeable streaming: decompress and extract simultaneously in a single pass |
Техническа сравнителна матрица: TAR.GZ спрямо конкуренти
| Технически атрибут | TAR.GZ (Текущ) | ZIP | 7Z | TAR.BZ2 |
|---|---|---|---|---|
| Unix разрешения | 100% нативно POSIX запазване | Ограничено / често се губи | Запазени основни атрибути | 100% нативно POSIX запазване |
| Коефициент на компресия | Умерен (Gzip DEFLATE) | Умерен (ZIP DEFLATE) | Много висок (LZMA2) | Висок (Bzip2 BWT) |
| Скорост на декомпресия | Бърза (~300 MB/s) | Бърза (~300 MB/s) | Умерена (~100 MB/s) | Бавна (~40 MB/s) |
| Стандарт в Linux екосистемата | Универсален дефолт за отворен код | Дефолт за потребителски десктоп | Любимец на Windows ентусиастите | Източници на стария Linux |
Често срещани режими на повреда и ръководство за хекс възстановяване
Командният ред докладва 'gzip: stdin: invalid compressed data--format violated'.
Първопричина: Повредени байтове в Gzip обвивката или прекъснато изтегляне.
Възстановяване: Опитайте частично възстановяване с помощта на File2File Archive Extractor или 'tar -izxf broken.tar.gz'.
Анализ на сигурността и вектори на атака към парсера
Архивите TAR.GZ съчетават рисковете както от компресионни бомби, така и от атаки за преминаване на директории (directory traversal), ако бъдат извлечени небрежно.
Известни вектори на атака
- Апликация в стил Zip бомба, където малък .tar.gz файл се разширява до терабайти нули.
- Преминаване на директории (напр. '../../root/.ssh/authorized_keys'), презаписващо привилегировани файлове.
- Създаване на злонамерени възли на устройства по време на извличането като root.
Защитни добри практики:
Исторически произход и етапи
Основни предимства и плюсове
- Безспорният стандарт за издания на софтуерен код с отворен код, 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 разрешения и символни връзки (symlinks).
Това е същото ли .tgz като .tar.gz?
Да. .tgz е просто съкратено 3-буквено файлово разширение за .tar.gz, създадено първоначално за операционни системи с кратки ограничения от типа 8.3 за имена на файлове, като например DOS.
Как мога да извлека .tar.gz файл на Windows?
Можете да извличате .tar.gz файлове директно във вашия уеб браузър с помощта на File2File.app, без да инсталирате WinRAR или 7-Zip.