Обновление, которое вы описываете, подразумевает, что файл в архиве заменен .Если новая копия меньше, чем в архиве, она может быть переписана напрямую.Однако, если новая копия больше, tar должен будет обнулить существующую запись архива и добавить.Такие обновления оставляли бы \ 0 или другие неиспользуемые байты, поэтому любой обычный компьютерный пользователь хотел бы, чтобы такие разделы были удалены, что было бы сделано путем "перемещения вверх" байтов, содержащих содержимое архива, к началу файла (думаю, Cmemmove).
Однако такая операция перемещения на месте, которая включает циклы поиска-чтения-поиска-записи, стоит дорого , особенно если смотреть на нее в контексте лент- для какого tar был изначально разработан, т. Е. Устройства с производительностью поиска, не сопоставимой с жесткими дисками.Вы бы довольно быстро изнашивали ленту с такими операциями.Да, и, конечно, устройства WORM также не поддерживают эту операцию.