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

POSIX.1 Стандарт

Tar Gzip (.tar.gz, известен и като .tgz) е стандартният формат за софтуерна дистрибуция и пакетиране на архиви в света на Linux и софтуера с отворен код, съчетаващ нативното за Unix TAR опаковане с универсалната Gzip компресия.

Проверка и метаданни

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

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

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

HEX ПОДПИС (ОФСЕТ 0):

1F 8B 08

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

Стандартизация: POSIX.1 ustar (RFC 1952, обвит в gzip)

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

Контейнерна архитектураАрхивен поток POSIX ustar / GNU tar, обвит в контейнер за компресия Gzip по RFC 1952
КомпресияДвустепенно пакетиране: сериализация в TAR, последвана от компресия DEFLATE
Поредност на байтовете (Endianness)Обвивката Gzip използва ред от младшия към старшия байт (Little-Endian) около осемеричните блокове на POSIX tar.
Цветови пространстваN/A (Archive Container)
Канали и структураUnix директории с множество файлове, символни връзки, собственост на файловете и битове за права
Максимални размериРазмер на поточния архив без фиксирано ограничение
Прозрачност100% bit-exact lossless preservation of filesystem structures and data
Поточно предаване и прогресивно зарежданеПоточно обработване по конвейер от край до край: декомпресиране и извличане едновременно с един проход

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

Технически атрибутTAR.GZ (Текущ)ZIP7ZTAR.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.app Archive Extractor или 'tar -izxf broken.tar.gz'.

Анализ на сигурността и вектори на атака към парсера

Архивите TAR.GZ съчетават рисковете както от компресионни бомби, така и от атаки чрез обхождане на директории (directory traversal), ако бъдат извлечени небрежно.

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

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

Най-добри практики за защита: Извличайте архиви като непривилегировани потребители и проверявайте всички целеви файлови пътища за атаки чрез обхождане на директории (directory traversal).

Исторически произход и етапи

2015Архитектурата за дистрибуция на контейнери Docker въвежда като стандарт слоести .tar.gz rootfs изображения.
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.