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