Instale Scalpel (una herramienta de recuperación del sistema de archivos) para recuperar archivos/carpetas eliminados en Linux


Muchas veces sucede que accidentalmente o por error presionamos "shift + delete" en los archivos. Por naturaleza humana, tiene la costumbre de usar "shift + Del" en lugar de usar solo la opción "Delete". De hecho, tuve este incidente hace unos días. Estaba trabajando en un proyecto y guardé mi archivo de trabajo en un directorio. Había muchos archivos no deseados en ese directorio y es necesario eliminarlos de forma permanente. Entonces comencé a eliminarlos uno por uno. Mientras borraba esos archivos, accidentalmente presioné "shift delete" en uno de mis archivos importantes. El archivo se eliminó permanentemente de mi directorio. Me preguntaba cómo recuperar archivos borrados y no tenía ni idea de qué hacer. Casi pasé mucho tiempo restaurando el archivo, pero no tuve suerte.

Con un poco de conocimiento técnico, sabía cómo funciona el sistema de archivos y el disco duro. Cuando elimina un archivo accidentalmente, el contenido del archivo no se elimina de su computadora. Simplemente se elimina de la carpeta de la base de datos y no puede ver el archivo en el directorio, pero aún permanece en algún lugar de su disco duro. Básicamente, el sistema tiene un puntero de lista para los bloques en el dispositivo de almacenamiento que aún tiene los datos. Los datos no se eliminan del dispositivo de almacenamiento en bloque a menos que y hasta que los sobrescriba con un nuevo archivo. En este punto de vista, publiqué que mi archivo eliminado aún puede permanecer en algún lugar en un área no indexada del disco duro. Sin embargo, se recomienda desmontar inmediatamente un dispositivo tan pronto como se dé cuenta de que ha eliminado algún archivo importante. Unmount te ayuda a evitar que los archivos bloqueados se sobrescriban con un archivo nuevo.

En este escenario, no quería sobreescribir esos datos, por lo que preferí buscar en el disco duro sin montarlo.

Normalmente en Windows tenemos toneladas de herramientas de terceros para recuperar datos perdidos, pero en Linux solo unas pocas. Sin embargo, utilizo Ubuntu como sistema operativo y es muy difícil encontrar una herramienta que recupere archivos perdidos. Durante mi investigación, conocí "Scalpel", una herramienta que recorre todo el disco duro y recupera un archivo perdido. Instalé y recuperé con éxito mi archivo perdido con la ayuda de la herramienta Scalpel. Es una herramienta realmente asombrosa, debo decir.

Esto también puede suceder contigo. Entonces pensé en compartir mi experiencia contigo. En este artículo, le mostraré cómo recuperar archivos eliminados con la ayuda de la herramienta de bisturí. Así que, aquí vamos.

¿Qué es la herramienta de bisturí?

Scalpel es una recuperación de sistema de archivos de código abierto para sistemas operativos Linux y Mac. La herramienta visita el almacenamiento de la base de datos de bloques e identifica los archivos eliminados y los recupera instantáneamente. Además de la recuperación de archivos, también es útil para la investigación forense digital.

Cómo instalar Scalpel en Debian/Ubuntu y Linux Mint

Para instalar Scalpel, abra la terminal haciendo “CTrl + Alt + T” desde el escritorio y ejecute el siguiente comando.

$ sudo apt-get install scalpel
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following NEW packages will be installed:
  scalpel
0 upgraded, 1 newly installed, 0 to remove and 390 not upgraded.
Need to get 0 B/33.9 kB of archives.
After this operation, 118 kB of additional disk space will be used.
Selecting previously unselected package scalpel.
(Reading database ... 151082 files and directories currently installed.)
Unpacking scalpel (from .../scalpel_1.60-1build1_i386.deb) ...
Processing triggers for man-db ...
Setting up scalpel (1.60-1build1) ...
[email protected]:~$

Instalación de Scalpel en RHEL/CentOS y Fedora

Para instalar la herramienta de recuperación de bisturí, primero debe habilitar el repositorio de epel. Una vez habilitado, puede hacer "yum" para instalarlo como se muestra.

# yum install scalpel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.01link.hk
 * epel: mirror.nus.edu.sg
 * epel-source: mirror.nus.edu.sg
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package scalpel.i686 0:2.0-1.el6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================================================================================
 Package		Arch		Version			Repository		Size
==========================================================================================================================================================
Installing:
 scalpel                i686            2.0-1.el6               epel                    50 k

Transaction Summary
==========================================================================================================================================================
Install       1 Package(s)

Total download size: 50 k
Installed size: 108 k
Is this ok [y/N]: y
Downloading Packages:
scalpel-2.0-1.el6.i686.rpm                                                           |  50 kB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : scalpel-2.0-1.el6.i686							1/1 
  Verifying  : scalpel-2.0-1.el6.i686                                                   1/1 

Installed:
  scalpel.i686 0:2.0-1.el6                                                                                                                                

Complete!

Una vez instalado el bisturí, debe editar el texto. Por defecto, la utilidad bisturí tiene su propio archivo de configuración en el directorio "/ etc" y la ruta completa es "/etc/scalpel/scalpel.conf" o "/etc/scalpel.conf". Puede notar que todo está comentado (#). Entonces, antes de ejecutar bisturí, debe descomentar el formato de archivo que necesita recuperar. Sin embargo, descomentar todo el archivo lleva mucho tiempo y generará resultados falsos enormes.

Digamos, por ejemplo, que quiero recuperar solo archivos ".jpg", así que simplemente descomente la sección de archivo ".jpg" para el archivo de configuración del bisturí.

# GIF and JPG files (very common)
        gif     y       5000000         \x47\x49\x46\x38\x37\x61        \x00\x3b
        gif     y       5000000         \x47\x49\x46\x38\x39\x61        \x00\x3b
        jpg     y       200000000       \xff\xd8\xff\xe0\x00\x10        \xff\xd9

Vaya a la terminal y escriba la siguiente sintaxis. "/ Dev/sda1" es una ubicación de un dispositivo del que ya se eliminó el archivo.

$ sudo scalpel /dev/sda1-o output

El interruptor "-o" indica un directorio de salida, donde desea restaurar sus archivos eliminados. Asegúrese de que este directorio esté vacío antes de ejecutar cualquier comando, de lo contrario le dará un error. La salida del comando anterior es.

Scalpel version 1.60
Written by Golden G. Richard III, based on Foremost 0.69.

Opening target "/dev/sda1"

Image file pass 1/2.
/dev/sda1:   6.1% |***** 		|    6.6 GB    39:16 ETA

Como puede ver, el bisturí ahora está realizando su proceso y llevará tiempo recuperar su archivo eliminado dependiendo del espacio en disco que esté tratando de escanear y la velocidad de la máquina.

Les recomendaría a todos que tengan el hábito de usar solo eliminar en lugar de "Shift + Eliminar". Porque como decía siempre es mejor prevenir que curar.