Restaure arquivos de fragmentos sem copiar ou mover dados

Restaure arquivos de fragmentos sem copiar ou mover dados

Em sistemas Unix, os arquivos podem ser unidos usando o catutilitário (os sistemas Windows têmtypeoucopy /B).

cat file1 file2 file3 > joined-file

Isso pega o conteúdo dos arquivos antigos e o copia em um único arquivo novo. O processo leva o tempo necessário para ler os arquivos antigos e gravar o novo. O novo arquivo é armazenado separadamente dos arquivos antigos, portanto, o comando falhará se não houver espaço livre suficiente em disco para gravar o novo arquivo.

Existe uma maneira mais rápida de combinar os arquivos, ou pelo menos de "enganar" os programas fazendo-os pensar que os arquivos estão combinados, que não envolve mover ou copiar dados no disco?

Uma maneira de fazer isso pode ser modificar o TOC do sistema de arquivos para que os arquivos sejam tratados comofragmentosde um arquivo maior. Existe uma maneira "segura" de fazer isso (ou seja, mais segura do que ddmodificar o TOC manualmente)?

Estou interessado em qualquer método de junção de arquivos, em qualquer plataforma, que seja mais rápido e exija menos espaço em disco do que concatenar fisicamente os arquivos.

Responder1

Postulei que isso poderia ser possível usando algum tipo de sistema de arquivos de sobreposição em cima de um existente (modificar um existente é uma receita para o desastre), então descobri que você provavelmente poderia escrever algo para Linux usando FUSE (sistema de arquivos no espaço do usuário)

Por brincadeira, pesquisei no Google e descobri que alguém já implementou isso - existe um projeto GIT chamado concat-fuse -https://github.com/concat-fuse/concat-fuse/blob/master/README.md- que parece fazer o que você está descrevendo.

informação relacionada