Какво е TAR файл?
Файловете с разширение .tar са архиви, създадени с Unix-базирана програма за събиране на един или повече файлове. Множество файлове се съхраняват в некомпресиран формат с поддръжка за добавяне на файлове, както и папки към архива. Помощната програма TAR в Unix е базирана на команди, но създадените по този начин файлове се поддържат от повечето системи за архивиране на файлове на почти всички операционни системи. Създаден е за първи път през 1979 г. от AT&T Bell Laboratories и следващите версии са публикувани с течение на времето.
Файлов формат TAR
TAR е отворен файлов формат с пълни спецификации, достъпни за справка от разработчиците. Неговата файлова структура е стандартизирана в POSIX.1-1988 и по-късно в POSIX.1-2001. Наборите от данни, създадени от tar, запазват информация за параметрите на файловата система като:
- Име
- Печати за време
- Собственост
- Разрешения за достъп до файлове
- Организация на справочника
Файлът Tar няма магическо число. Той съдържа поредица от блокове, като всеки блок е от BLOCKSIZE байта.
Всеки архивиран файл е представен от заглавен блок, който описва файла, последван от нула или повече блокове, които дават съдържанието на файла. В края на архивния файл има два 512-байтови блока, попълнени с двоични нули като маркер за край на файла. Една разумна система трябва да напише такъв маркер за край на файл в края на архив, но не трябва да приема, че такъв блок съществува, когато чете архив. По-специално GNU tar винаги издава предупреждение, ако не го срещне.
Блоковете може да са блокирани за физически I/O операции. Всеки запис от n блока (където n е зададено от опцията blocking-factor = 512-size за tar) се записва с една операция “write()”. На магнитни ленти резултатът от такова записване е единичен запис. Когато пишете архив, последният запис на блокове трябва да бъде записан в пълен размер, като блоковете след нулевия блок съдържат всички нули. Когато чете архив, разумната система трябва правилно да обработва архив, чийто последен запис е по-къс от останалите или който съдържа боклук след нулев блок.
Tar Header
Както всички други заглавки на файлове, записът на заглавката на файла tar съдържа метаданни за файл и е показан в следващата таблица.
Отместване на полето | Размер на полето (байтове) | Поле |
---|---|---|
0 | 100 | Име на файл |
100 | 8 | Файлов режим |
108 | 8 | Цифров потребителски идентификатор на собственика |
116 | 8 | Числовият потребителски идентификатор на групата |
124 | 12 | Размер на файла в байтове (осмична основа) |
136 | 12 | Време на последна модификация в цифров Unix формат на времето (осмично) |
148 | 8 | Контролен запис за заглавен запис |
156 | 1 | Индикатор за връзка (тип файл) |
157 | 100 | Име на свързания файл |
Неизползваните полета се попълват с NUL байтове. Заглавието се състои от 257 байта, които са подплатени с NUL байтове, за да се запълни до 512 байтов запис.