Какие есть библиотеки позволяющие произвольный доступ (open/close/read/seek) к содержимому gz-архива, чтобы при это распаковка не требовалась? Файлы большие и их много, а информации из них требуется чуть, распаковывать каждый раз - много времени тратится.
Gnome-VFS находится в плачевном состоянии, AVFS под FreeBSD работать отказалась.
gz - не архив. Ни разу. Если же тебе нужен произвольный доступ к .tar.gz - то сначала задумайся о произвольном доступе к просто .tar. Решишь эту задачу, остальное приложится. До сих пор удовлетворительных решений (с индексированием в бэкграунде) - не было.
На всякий случай уточню - это один файл, сжатый gzip. Вот к распакованному содержимому мне и нужно доступаться, не распаковывая весь файл. В принципе, удовлетворит вариант с предварительно индексацией, если она будет немного занимать.
Только это... Скорее всего не удастся разжать его со средины. Другое дело bzip2 - готовая реализация вроде не поддерживает этого(AFAIR), но в принципе это возможно.
afaik чтобы можно было с середины читать, нужно немножко менять формат -- или какие-то дополнительные метки вставлять, или просто поблочно сжимать. Поищи -- такие вещи обсуждались в списках рассылки по поводу создания compressed filesystem.
> умеет ли она большими блоками пропускать, или ей нужно распаковывать каждый байт.
Без спец. приёмов - не умеет. Надо всё распаковывать. Глянь в сторону dictzip (это к dictd) - там применяются способы для ускорения произвольного доступа к сжатым словарям.