Restaurar archivos a partir de fragmentos sin copiar ni mover datos

Restaurar archivos a partir de fragmentos sin copiar ni mover datos

En sistemas Unix, los archivos se pueden unir usando la catutilidad (los sistemas Windows tienentypeocopy /B).

cat file1 file2 file3 > joined-file

Esto toma el contenido de los archivos antiguos y lo copia en un único archivo nuevo. El proceso toma el tiempo necesario para leer los archivos antiguos y escribir el nuevo. El archivo nuevo se almacena por separado de los archivos antiguos, por lo que el comando fallará si no queda suficiente espacio libre en el disco para escribir el archivo nuevo.

¿Existe una manera más rápida de combinar los archivos, o al menos de "engañar" a los programas haciéndoles creer que los archivos están combinados, que no implique mover o copiar datos en el disco?

Una forma de hacerlo podría ser modificar el TOC del sistema de archivos para que los archivos se traten comofragmentosde un archivo más grande. ¿Existe una forma "segura" de hacer esto (es decir, más segura que utilizarla ddpara modificar el TOC manualmente)?

Estoy interesado en cualquier método para unir archivos, en cualquier plataforma, que sea más rápido y requiera menos espacio en disco que concatenar físicamente los archivos.

Respuesta1

Postulé que esto podría ser posible usando algún tipo de sistema de archivos superpuesto sobre uno existente (modificar uno existente es una receta para el desastre), luego descubrí que probablemente podría escribir algo para Linux usando FUSE (sistema de archivos en el espacio de usuario)

Por diversión busqué en Google y descubrí que alguien ya ha implementado esto: hay un proyecto GIT llamado concat-fuse.https://github.com/concat-fuse/concat-fuse/blob/master/README.md- que parece hacer lo que estás describiendo.

información relacionada