recuperar un archivo recién eliminado en ext4 con extundelete


54

¿Existe una opción simple sobre extundeletecómo puedo tratar de recuperar un archivo llamado /var/tmp/test.isoque acabo de eliminar?

(No es tan importante que comience a volver a montar la unidad de solo lectura o cosas similares. También puedo volver a descargar ese archivo nuevamente)

Estoy buscando un comando simple con el que pueda probar si logro recuperarlo rápidamente.

Lo sé, es posible volver a montar la unidad en solo lectura : (consulte ¿Cómo puedo recuperar el único archivo en un disco vacío que acaba de eliminar? )

¿Pero esto también es posible de alguna manera en el disco aún montado?



Esa otra pregunta es demasiado amplia. Aquí estoy buscando una solución rápida e insegura sin mucho esfuerzo (y menos posibilidades de éxito)
— rubo77

No quise implicar duplicar, pero es posible que desee agregarlo a la pregunta por qué esa pregunta no fue suficiente.
— Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

Respuestas:


36

Mirando la guía de uso de extundelete , parece que estás limitado a recuperar archivos de varias maneras.

Restaurando todo

extundelete está diseñado para recuperar archivos de una partición desmontada a una partición separada (montada). extundelete restaurará cualquier archivo que encuentre en un subdirectorio del directorio actual llamado "RECOVERED_FILES". Para ejecutar el programa, escriba "extundelete --help" para ver varias opciones disponibles para usted.

El uso típico para restaurar todos los archivos eliminados de una partición se ve así:

    $ extundelete /dev/sda4 --restore-all

Restaurando un solo archivo

Además de este método resaltado en el uso de la línea de comandos:

--restore-file path/to/deleted/file
    Attemps to restore the file which was deleted at the given filename, 
    called as "--restore-file dirname/filename".

Entonces debería poder lograr lo que quiere hacer esto:

$ extundelete --restore-file /var/tmp/test.iso /dev/sda4

NOTA: En ambos casos, necesita conocer el dispositivo /dev/sda4para realizar este comando. Tendrá que volver a montar el sistema de archivos como de solo lectura. Esta es una de las condiciones de uso extundeletey no hay forma de evitarlo.


2
sí, pero todo eso solo funciona si vuelvo a montar la unidad de solo lectura
— rubo77

1
@ rubo77 - correcto, no hay forma de evitarlo.
— slm

2
Esto realmente funcionó para mí un sistema de archivos ext4 sin volver a montarlo como de solo lectura. Si intenta hacerlo sin volver a montar r / o, recibirá una advertencia que parece indicarle que su probabilidad de éxito es menor si lo hace. Si es realmente súper vital recuperar el archivo, entonces parece que debería hacerlo.
— Ben Crowell

Al igual que @BenCrowell, he usado sin volver a montar, pero el programa me anuncia sobre la corrupción de datos si continúo usando hdd ... fue un borrado recientemente, así que solo
— presiono Enter

16

El escenario de uso típico al recuperar todos los archivos incluye la necesidad de restaurar todos los archivos eliminados /dev/sdX1durante aproximadamente la última hora:

mount -o remount,ro /dev/sdX1
extundelete --restore-all --after $(date -d "-2 hours" +%s) /dev/sdX1
find RECOVERED_FILES/

Si está satisfecho con los archivos recuperados:

mount -o remount,rw /dev/sdX1

mount: debe especificar el tipo de sistema de archivos

remontar espera punto de montaje como argumento, no el dispositivo
— Don't You Worry Child

@ Don'tYouWorryChild mount -orealiza ya sea dir o dispositivo, como porman mount
— sanmai

En lugar de restar 2 horas desde la fecha que puede hacer $(date -d "-2 hours" +%s)y la salida de lsblk -ppuede ser útil para encontrar dónde se encuentra ese volumen EXT4 en caché LVM cifrado con LUKS. ;)
— LiveWireBT
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.