Архів TAR (.tar)

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

Tape Archive (TAR) - це поширений формат упакування файлів для Unix і Linux, який об'єднує кілька файлів, каталогів і метаданих файлової системи в єдиний нестиснений потік, призначений для створення резервних копій на магнітній стрічці та розповсюдження програмного забезпечення.

Конвертувати з ZIP у TAR

Безкоштовний конвертер з ZIP у TAR у браузері. Миттєво конвертуйте файли на своєму пристрої.

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

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

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

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

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

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

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

ШІСТНАДЦЯТКОВА СИГНАТУРА (ЗСУВ 257):

75 73 74 61 72

ASCII-УЯВЛЕННЯ: ustar

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

Технічні характеристики

Архітектура контейнераПослідовність 512-байтових блоків: 512-байтовий заголовок файлу, за яким слідують дані файлу, округлені до 512 байт, які завершуються двома нульовими блоками
СтисненняНестиснений архівний контейнер (призначений для передачі через конвеєр у gzip, bzip2, xz або zstd)
Порядок байтів (Endianness)Вісімкові рядкові поля ASCII; числа з розширенням у форматі big-endian
Колірні просториНе застосовується (Архівний контейнер)
Канали та структураДерево каталогу файлів Unix, символічні посилання, жорсткі посилання, символьні/блокові пристрої та канали FIFO
Максимальні розміриЛіміт 8 ГБ у класичному ustar; практично необмежено в сучасному форматі PAX
ПрозорістьПовне збереження дозволів файлів POSIX, UID/GID власника, часу доступу та розширених атрибутів
Потокове та прогресивне завантаженняПослідовний дизайн, орієнтований на потоки: може записуватися безпосередньо на фізичні накопичувачі на магнітній стрічці

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

Технічний атрибутTAR (Поточний)ZIP7ZCPIO
Нативне стисненняВідсутнє (чистий контейнер упакування)Вбудоване стиснення DeflateВбудоване стиснення LZMA/LZMA2Відсутнє (чистий контейнер упакування)
Збереження дозволів Unix100% атрибутів 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 ГБ.
1988IEEE POSIX стандартизує формат заголовка 'ustar' (Unix Standard Tar).
1979Представлено у Version 7 Unix (V7) від Bell Labs для запису дерев файлів на дисководи на магнітній стрічці.

Головні переваги та плюси

  • Вірно зберігає повну сумісність із файловою системою Unix: дозволи POSIX, символічні посилання, жорсткі посилання та право власності.
  • Стрічково-орієнтований дизайн: можна витягувати безпосередньо з мережевого каналу без переходу в кінець файлу.
  • Універсальний стандарт для всіх серверов Linux, образів контейнерів (Docker/OCI) та дистрибутивів програмного забезпечення Unix.

Технічні обмеження та мінуси

  • Відсутність нативного стиснення: нестиснений файл .tar має приблизно такий самий розмір, як і сукупність незжатих вихідних файлів.
  • Довільний доступ повільний: витягування одного файлу з середини масивного tar-архіву вимагає сканування від самого початку.
  • Застарілі заголовки 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 - це розширений формат, що підтримує необмежену довжину шляхів та розріджені файли.

Як відкрити файл .tar у Windows?

Windows 10 і 11 підтримують tar нативно через командний рядок ('tar -xf file.tar'), або ви можете витягнути його візуально за допомогою File2File.app безпосередньо у веб-браузері.