TAR архив (.tar)

POSIX.1-1988 Стандарт

Tape Archive (TAR) е универсалният файлов формат за пакетиране в Unix и Linux, който обединява множество файлове, директории и файлови метаданни в един единствен некомпресиран поток, предназначен за резервни копия на магнитна лента и софтуерна дистрибуция.

Конвертиране на ZIP към TAR

Безплатен конвертор от ZIP към TAR в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Инспектиране и метаданни

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

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

100% поверително конвертиране в браузъра - файловете никога не напускат вашето устройство

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

Байтов подпис на хедъра (Magic Bytes)

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

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

75 73 74 61 72

ASCII ПРЕДСТАВЯНЕ: ustar

Стандартизация: POSIX.1-1988 (ustar) / POSIX.1-2001 (pax)

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

Контейнерна архитектураSequence of 512-byte blocks: 512-byte file header followed by file data rounded up to 512 bytes, ending with two zero blocks
КомпресияUncompressed archive container (designed to be piped into gzip, bzip2, xz, or zstd)
Поредност на байтовете (Endianness)Octal ASCII string fields; big-endian numeric extensions
Цветови пространстваN/A (Archive Container)
Канали и структураUnix file directory tree, symlinks, hardlinks, character/block devices, and FIFO pipes
Максимални размери8 GB limit in classic ustar; practically unlimited in modern PAX format
ПрозрачностFull preservation of POSIX file permissions, owner UID/GID, access times, and extended attributes
Стрийминг и прогресивно зарежданеSequential stream-oriented design: can be written directly to physical magnetic tape drives

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

Технически атрибутTAR (Текущ)ZIP7ZCPIO
Вградена компресияНяма (чист контейнер за пакетиране)Вградена Deflate компресияВградена LZMA/LZMA2 компресияНяма (чист контейнер за пакетиране)
Запазване на Unix права100% POSIX атрибути, символични връзки, UID/GIDОграничена поддръжка на Unix праваЗапазва основните права100% POSIX атрибути
Потоково извличанеПълно потоково извличане от тръбиИзисква четене на централната директория при EOFИзисква четене на крайното заглавиеПълно потоково извличане
Произволен достъп до файловеБавно (линейно последователно сканиране)Незабавно (търсене в централната директория)Умерено (търсене по индекс)Бавно (линейно последователно сканиране)

Често срещани режими на повреда и ръководство за хекс възстановяване

Грешка при извличане: 'tar: Skipping to next header' или 'A lone zero block at X'.

Първопричина: Повредено подравняване на 512-байтови блокове или преждевременно прекратяване на потока.

Възстановяване: Извлечете с 'tar -i', за да игнорирате повредените блокове, или поправете с File2File Tar Tool.

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

Програмите за извличане на TAR трябва да почистват файловите пътища, за да предотвратят произволно презаписване на файлове чрез атаки за преминаване през директории.

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

  • Преминаване през директории тип 'Slip' (напр. '../etc/passwd'), презаписващо критични системни файлове по време на извличане.
  • Състезателни условия със символични връзки, създаващи символични връзки към системни директории, последвани от запис на файлове.
  • Отказ от услуга чрез циклещи се цикли от твърди връзки.

Защитни добри практики:

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

2001IEEE POSIX.1-2001 въвежда стандарта PAX (Portable Archive Interchange), преодолявайки старите ограничения за размер от 8 GB.
1988IEEE POSIX стандартизира формат на заглавната част 'ustar' (Unix Standard Tar).
1979Представен във Version 7 Unix (V7) от Bell Labs за запис на файлови дървета върху устройства с магнитна лента.

Основни предимства и плюсове

  • Верен запазване на пълната точност на Unix файловата система: POSIX права, символични връзки, твърди връзки и собственост.
  • Потоково ориентиран към лента дизайн: може да бъде извлечен директно от мрежова тръба, без да се търси краят на файла.
  • Универсален стандарт за всички Linux сървъри, контейнерни изображения (Docker/OCI) и Unix софтуерни дистрибуции.

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

  • Липса на вградена компресия: некомпресираният .tar файл е с приблизително същия размер като сумарните сурови файлове.
  • Произволното достъпване е бавно: извличането на един единствен файл от средата на огромен tarball изисква сканиране от самото начало.
  • Старите ustar заглавни части съкращаваха имена на файлове, по-дълги от 100 символа (разрешено в съвременния PAX/GNU tar).

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

  • Магическите байтове 'ustar' се намират на байтов офсет 257 във всеки 512-байтов блок със заглавна част.
  • TAR първоначално е създаден за физическо управление на 9-пистови лентови устройства с макари.
  • Docker и OCI контейнерните изображения са буквално натрупани набори от стандартни .tar архиви, съдържащи разлики в основната файлова система.

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

Защо моят .tar файл не е компресиран?

TAR е само архиватор (той обединява файловете в един файл) и не извършва компресия сам по себе си. За да го компресирате, го комбинирайте с gzip, за да създадете .tar.gz файл.

Каква е разликата между ustar и GNU tar?

Ustar е стандартът POSIX от 1988 г. с ограничение от 100 знака за имената на файловете, докато GNU tar е разширен формат, поддържащ неограничени дължини на пътя и разредени (sparse) файлове.

Как мога да отворя .tar файл на Windows?

Windows 10 и 11 поддържат tar нативно през командния ред ('tar -xf file.tar') или можете да го разархивирате визуално с помощта на File2File.app директно във вашия уеб браузър.