Цитата Сообщение от form Посмотреть сообщение
Не совсем так, или точнее совсем не так. Размер блока задается опциями, и размер 10240 (tar b 20) только принятое умолчание.
История формата лент UNIX (похоже) была такой:

1. Изначально в UNIX можно было писать на ленту только записи с размером блока 512. В какой записи что находится - нужно было читать на этикетке ленты.

2. Для хранения файлов был придуман "формат архивной ленты" - TAR, при котором вся лента состояла из единственной записи с блоками 10240

3. Дистрибутивные ленты имели в начале несколько служебных записей с блоками 512, в которых находились загрузчик, начальное ядро, программа формирования файловой системы и программа "растаривания" остатка ленты, а вся остальная лента имела формат TAR.

4. Пользователи стали использовать TAR не в качестве "формата архивной ленты", а в качестве "формата смоляного шара", упаковывая файлы в тарболы, которые затем помещались на ленту в произвольном количестве.

5. Чтобы при развёртывании дистрибутива пользователь не мог по ошибке запустить на выполнение начальный загрузчик - записи с файлами были отделены от BIN-записей назначением им нового размера блока 1024.


С тех пор ленты UNIX выглядят так:

0 или более BIN-записей из блоков 512
0 или более файловых записей из блоков 1024
0 или более тарболов из блоков большего размера.

Отличительной особенностью дистрибутивной ленты UNIX является наличие в начале ленты двух идентичных блоков ленточного загрузчика.


При наличии такого признака UnRoll может разбирать ленту по приведённому выше алгоритму, а при отсутствии - только извлекать тарболы с размером блока 10240.