Descompactando dados em um arquivo transparente para permitir uma maior compactação posteriormente

2

Eu tenho, por exemplo, imagem de sistema de arquivos que tem alguns arquivos compactados (com compactação fraca como gzip), por exemplo, manpages ou arquivos com o mesmo conteúdo descompactado por perto.

Como pré-filtrar os dados para "expandir" os dados compactados para uma forma simples (para compactá-los novamente com uma compactação strong) e pós-filtrar após a descompactação para restaurar a imagem "semi-compactada" original? A correspondência SHA-1 é uma recomendação, mas não é estritamente necessária (mas a imagem resultante deve funcionar, por exemplo, os arquivos compactados não devem crescer demais, ser descompressíveis, etc.)

Como melhorar a taxa de compactação revertendo algoritmos de compactação fracos.

Existem programas para isso?

    
por Vi. 10.05.2011 / 16:06

1 resposta

0

Supondo que você esteja em um ambiente em que possa escrever e executar scripts de shell, isso é bastante fácil de fazer:

ao fazer uma loja:

  1. monte a imagem do sistema de arquivos.
  2. procure por todos os arquivos com sufixos de "compactação fraca"
  3. descompacte esses arquivos
  4. salve a lista de arquivos descompactados em algum lugar
  5. desmontar a imagem
  6. comprima a imagem

re-store:

  1. descompacte a imagem
  2. monte o sistema
  3. use a lista salva anteriormente para compactar os arquivos

Isto pode ser feito usando alguns dos códigos de detecção de arquivos em lesspipe.sh do Gentoo, find e gzip, bzipt2, etc.

Se você preferir compactar arquivos individuais com "compactação strong" em vez de imagens inteiras, isso certamente também é possível.

    
por 06.11.2012 / 23:27