Como obter tar para vincular conteúdo idêntico on-the-fly durante a criação do arquivo?

4

Como posso obter tar (ou qualquer outro programa que esteja normalmente disponível no Linux, por exemplo, pax ) para vincular conteúdo duplicado rapidamente durante a criação do arquivo?

Ou seja, eu gostaria de evitar o endireitamento inicial e, em vez disso, gostaria que o tar cuidasse dele.

Isso é possível? Como?

    
por 0xC0000022L 12.04.2015 / 12:01

1 resposta

3

Isto não é possível a partir de agora com o tar GNU, mas existem coisas:

  • link : um arquivo GNU corrigido com um comando experimental --dedup-filter
  • link que come e cospe fluxos e deduções formatados por tar

Note que hardlinking e deduping não possuem a mesma semântica, seria necessário outro tipo de tipo de nó tar para representar "dados de dupe" para que o processo de extração de archive recria corretamente arquivos duplicados (e, portanto, de vida indecorosa); que criaria arquivos tar incompatíveis com a maioria das ferramentas padrão (tar GNU, pax, etc), o que seria uma jogada ousada.

Deixe-me insistir: se você fosse capaz de assimilar dupes com arquivos vinculados, você teria um problema na extração de arquivos: * eles são realmente arquivos com hardlink como os de um repositório do Git? Então eles devem ser realmente recriados como arquivos com hardlink, caso contrário o repositório do Git restaurado não funcionará? * ou são arquivos realmente idênticos, e se eles foram restaurados como hardlinks, o arquivo restaurado provavelmente teria grandes vazamentos de dados (imagine que você tenha assimilado arquivos / etc / passwd idênticos durante o arquivamento, restaure-os como um único arquivo com vários hardlinks: um modificação em uma VM torna-se visível na outra!)

    
por 12.04.2015 / 17:07