Tengo un archivo que se está descargando (de una fuente difícil de volver a descargar), pero se eliminó accidentalmente del espacio de nombres del sistema de archivos (/ tmp / blah), y me gustaría recuperar este archivo.
Normalmente podría cp /proc/$PID/fd/$FD /tmp/blah
, pero en este caso eso solo me daría una instantánea parcial, ya que el archivo aún se está descargando. Además, una vez que se completa la descarga, el proceso de descarga (por ejemplo, Chrome) cerrará el FD.
¿Alguna forma de recuperarse por inode / crear un enlace duro? ¿Alguna otra solución? Si hace alguna diferencia, me preocupa principalmente ext4.
fuente
El proyecto fdlink , que consiste en un módulo de kernel de Linux y una aplicación simple, pretende crear un nuevo enlace a un descriptor de archivo abierto. No lo he intentado
fuente
Esto hará el trabajo, aunque no a través de la recuperación del inodo:
O simplemente detenga manualmente la descarga en Chrome si no desea eliminar todo el navegador.
fuente
Si desea hacer un enlace duro sobre esto, debe usar la opción -s (ver
man ln
) para que en el directorio fd ejecutels -f
y encuentre el número de archivo (en su mayoría números de dos dígitos) y haga unln NUMBER destination-file -s
fuente