Búsqueda de sitios web

Cómo recuperar un archivo eliminado en Linux


¿Alguna vez te pasó esto? Te diste cuenta de que habías eliminado un archivo por error, ya sea mediante la tecla Supr o usando rm en la línea de comando.

En el primer caso, siempre puedes ir a la Papelera, buscar el archivo y restaurarlo a su ubicación original. Pero ¿qué pasa con el segundo caso? Como estoy seguro de que probablemente sepa, la línea de comandos de Linux no envía archivos eliminados a ninguna parte: los ELIMINA. Culo. Se fueron.

Lectura sugerida: Cómo recuperar archivos/directorios eliminados usando la herramienta Scalpel

En este artículo, compartiremos un consejo que puede ser útil para evitar que esto le suceda y una herramienta que puede considerar usar si en algún momento es lo suficientemente descuidado como para hacerlo de todos modos.

Crea un alias para 'rm -i'

El modificador -i, cuando se usa con rm (y también con otras herramientas de manipulación de archivos como cp o mv) hace que aparezca un mensaje antes de eliminar un archivo.

Lo mismo se aplica a copiar, mover o cambiar el nombre de un archivo en una ubicación donde ya existe uno con el mismo nombre.

Este mensaje le brinda una segunda oportunidad para considerar si realmente desea eliminar el archivo; si confirma el mensaje, desaparecerá. En ese caso, lo siento, pero este consejo no te protegerá de tu propio descuido.

Para reemplazar rm con un alias de 'rm -i', haga lo siguiente:

alias rm='rm -i'

El comando alias confirmará que rm ahora tiene un alias:

Sin embargo, esto sólo durará durante la sesión del usuario actual en el shell actual. Para que el cambio sea permanente, deberá guardarlo en ~/.bashrc (algunas distribuciones pueden usar ~/.profile en su lugar) como se muestra a continuación:

Para que los cambios en ~/.bashrc (o ~/.profile) surtan efecto inmediatamente, obtenga el archivo del shell actual:

. ~/.bashrc

La herramienta forense – Foremost

Con suerte, tendrá cuidado con sus archivos y sólo necesitará utilizar esta herramienta mientras recupera un archivo perdido de un disco externo o unidad USB.

Sin embargo, si se da cuenta de que eliminó accidentalmente un archivo de su sistema y va a entrar en pánico, no lo haga. Echemos un vistazo a lo más importante: una herramienta forense diseñada para este tipo de escenarios.

Para instalar todo en CentOS/RHEL 7, primero deberá habilitar Repoforge:

rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
yum install foremost

Mientras que en Debian y derivados, simplemente haga

aptitude install foremost

Una vez que se haya completado la instalación, procedamos con una prueba sencilla. Comenzaremos eliminando un archivo de imagen llamado nosdos.jpg del directorio /boot/images:

cd images
rm nosdos.jpg

Para recuperarlo, utilice todo de la siguiente manera (primero deberá identificar la partición subyacente: /dev/sda1 es donde reside /boot en este caso):

foremost -t jpg -i /dev/sda1 -o /home/gacanepa/rescued

donde /home/gacanepa/rescued es un directorio en un disco separado; tenga en cuenta que recuperar archivos en la misma unidad donde se ubicaron los eliminados no es una decisión inteligente.

Si, durante la recuperación, ocupa los mismos sectores del disco donde solían estar los archivos eliminados, es posible que no sea posible recuperar nada. Además, es fundamental detener todas sus actividades antes de realizar la recuperación.

Una vez que todo haya terminado de ejecutarse, el archivo recuperado (si la recuperación fue posible) se encontrará dentro del directorio /home/gacanepa/rescued/jpg.

Resumen

En este artículo hemos explicado cómo evitar eliminar un archivo accidentalmente y cómo intentar recuperarlo si ocurre un evento no deseado. Sin embargo, tenga en cuenta que todo puede tardar bastante en ejecutarse dependiendo del tamaño de la partición.

Como siempre, no dude en hacernos saber si tiene preguntas o comentarios. No dude en enviarnos una nota utilizando el siguiente formulario.