Formato de arquivo indexado?

5

Eu preciso criar arquivos compactados de arquivos e poder extrair rapidamente arquivos / diretórios individuais deles.

O problema é que, por exemplo, tar.bz2 parece não ser a melhor escolha para tal tarefa - extrair um único arquivo de 4kb de um arquivo de 200Mb (50000 arquivos) leva 17 segundos na minha máquina.

Existe algum formato de arquivo, que fornece rápida exportação de arquivos individuais do arquivo (e funciona no linux)?

    
por Rogach 15.04.2012 / 18:47

3 respostas

4

O formato Zip compacta cada arquivo separadamente e os combina (com um diretório de conteúdo do arquivo) em um único arquivo.

    
por 15.04.2012 / 20:06
3

Além do formato zip já mencionado, os utilitários dar e dump também são bons em lidar com isso e, ao contrário do zip, retêm as permissões do unix. Para dar você deseja evitar usar a opção de archive sólido, já que volta para o método tar / gzip de compactar tudo de uma vez, o que dá melhor compactação, mas faz com que a extração de arquivos individuais demore mais tempo descompactado até que o arquivo desejado seja encontrado. dump manipula grandes conjuntos de arquivos pequenos (dezenas de milhares) muito bem, e pode fazer compressão multithread, mas só lê sistemas de arquivos ext [234].

    
por 16.04.2012 / 04:42
1

.tar.gz tem uma velocidade de descompactação mais rápida, mas o trade-off é o pior tamanho de compactação. edit: Ignacio Vazquez-Abrams me ninja.

    
por 15.04.2012 / 19:23