The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"В рамках проекта TheUnarchiver решены проблемы с использован..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для сортировки сообщений в нити по дате нажмите "Сортировка по времени, UBB".
. "В рамках проекта TheUnarchiver решены проблемы с использован..." +1 +/
Сообщение от Аноним (-), 14-Май-11, 17:35 
> Вы несёте бред.
> Почитайте статью о solid сжатии.

Почитал. Понял что если включить в начало TAR архива блок с полным списком файлов - то из tar.bz2/tar.xz/tar.lzma можно будет быстро поиметь список файлов, невзирая на solid сжатие.

Проблема лишь в том что сам tar - это по изначальной задумке Tape ARchive. Формат созданный для архивирования на ленту, а потому уповающий на непрерывный и единоразовый доступ к носителю, в стиле слива бэкапов на ленту. Этим и объясняется линейное расположение файлов, без центрального списка, который можно быстро распаковать в начале. Упомянутое дописывание имеет ряд проблем. Когда мы только начинаем жать и пишем в начало файла, мы не знаем сколько файлов и до каких размеров получится сжать и где это будет физически расположено в файле. Поэтому мы не можем заранее построить полноценный блок с списком файлов, их размеров и позиций в архиве, записать и сжать его. Мы не знаем часть информации и узнаем ее лишь по мере создания архива. Поэтому полноценный блок описания списка файлов можно построить лишь когда архивирование уже закончено и все параметры известны (какие файлы удалось заархивировать, в какие позиции они попали, etc). Все бы ничего, но даже для дискового файла это некая проблема: в начале файла УЖЕ есть данные. Некоторые пишут поэтому данную таблицу в хвост файла, но если делать solid сжатие архива, то распаковывать ВСЕ данные до того как получить таблицу - неинтересно. В дисковом файле правда можно изгальнуться с перемещением данных из первых блоков файла в хвост чтобы освободить место для таблицы, записать туда таблицу + сделанную релокацию и в принципе даже прокатит. Для дискового файла, да. Но Tar это ЛЕНТОЧНЫЙ формат! А для лент сие потребует перемотки ленты на начало, перезаписи начальных данных, перемотки в хвост, дозаписи данных. А вот это - жопа. Это - не Tape ARchiver уже с такими мерзкими свойствами. Вообще никак.  

В результате - или сохранятся мезкие свойства формата TAR или это будет уже не TAR и не обеспечит только последовательный доступ к ленте. Если забить на ленты ... тогда наверное и tar'ом это нефиг называть?!

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
В рамках проекта TheUnarchiver решены проблемы с использован..., opennews, 12-Май-11, 17:07  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру