O que você está pedindo não é trivial. É possível, eu simplesmente não conheço uma implementação existente da solução que você precisa. AVFS provavelmente não funcionará.
Há o seek-bzip ( link ) e projetos semelhantes que tentam fornecer acesso aleatório a arquivos bzip2. Criar a tabela para isso demorará tanto quanto descomprimir a coisa toda; AE / S real exigirá que o bloco correto seja encontrado, descompactado e mantido na memória, e se for necessário novamente mais tarde, descompactado novamente. Atualmente, não sei de nenhuma maneira de empregar essa solução para o seu problema diretamente.
No meu conhecimento, também não há nenhum programa que obtenha uma imagem do sistema de arquivos em um pipe (não é procurável) e extraia arquivos dele.
Você teria que implementar isso em NBD, fusível ou similar. AVFS vai nessa direção, mas não menciona a possibilidade de busca de arquivos bzip2. Se ele não empregar essa tecnologia (e o código-fonte não parecer), funcionará apenas para arquivos pequenos ou para aplicativos que leiam a coisa toda linear (como cp
ou tar
). Qualquer E / S de acesso aleatório (como você tem com uma imagem de sistema de arquivos montada) o deixaria sem memória ou o acesso seria tão lento que seria completamente inutilizável (isto é, extrairia 450 GB de dados para uma leitura de 4k no final do arquivo). disco).
Há cloop
, mas não está amplamente disponível (somente no Knoppix?) e exige que você converta sua imagem bz2 existente no formato cloop primeiro. Se você fizer a conversão no local e ela falhar, sua imagem desaparecerá.
Às vezes, comprar um HDD maior é a solução preferida.