¿Alguna vez ha eliminado un archivo y se ha arrepentido al instante? ¡Lo necesitas de vuelta, y rápido! Pero, ¿qué pasa si el archivo es tan nuevo que aún no se ha realizado una copia de garantía? Afortunadamente, hay algo que puedes hacer al respecto.
¿De qué vamos a hablar?
rm: ¿Abreviatura de Remorse?
Es demasiado fácil de usar el rm comanda y te encuentras mirando una ventana terminal con una sensación de arrepentimiento cada vez más profunda. Un pequeño error con los comodines, y puedes eliminar mucho más de lo que pretendías.
El sistema de archivos Linux predeterminado, ext4 utiliza inodos para contener datos sobre cada archivo y una tabla de inodos para realizar un seguimiento de los inodos. El inodo contiene metadatos sobre el archivo, como su nombre, quién lo posee, cuáles son los permisos, etc.
También contiene puntos de entrada a enlaces duros que apuntan al archivo. Cada archivo tiene al menos un enlace duro. Cada vez que crea un nuevo enlace duro, el número de enlaces duros aumenta en uno. Cada vez que elimina un enlace duro, el recuento de enlaces duros en el inodo se reduce en uno.
Cuando elimina un archivo que el inodo ha marcado como no utilizado (y listo para su reutilización), se elimina el último vínculo duro. Cuando esto sucede, el archivo no aparecerá en los listados de directorios y no se podrá usar ni acceder a él.
Sin embargo, los datos que componen el contenido del archivo todavía están presentes en el disco duro. Sin embargo, si pudiera parchear el inodo para que contuviera la información correcta, el archivo se restauraría. Por supuesto, esto solo funcionaría si los datos que componen el archivo en el disco duro permanecen intactos y no se sobrescriben.
Como alternativa, puede crear un nuevo inodo, copiar los datos supervivientes del inodo antiguo y, a continuación, reemplazar los bits que faltan.
Esas son actividades no triviales. Por lo general, cuando eliminas un archivo por error, es en el peor momento posible. Siempre es cuando necesitas ese archivo, y lo necesitas ahora. No tiene tiempo para ensuciarse con los editores de sector y otras utilidades. Además, si se trata de un archivo que acaba de crear, es probable que aún no se haya realizado una copia de respaldo, por lo que tampoco lo ayudarán.
Aquí donde testdisk entra. Es fácil de usar y no requiere un conocimiento detallado y de bajo nivel del sistema de archivos. ¡Echemos un vistazo a cómo usarlo!
Instalación de testdisk
Para instalar testdisk en Ubuntu, use este comando:
sudo apt-get install testdisk

En Fedora, debe escribir:
sudo dnf install testdisk

En Manjaro, tienes que usar pacman:
sudo pacman -Sy testdisk

Uso de testdisk
Aunque se ejecuta en una ventana de terminal, testdisk tiene una interfaz rudimentaria. Utilice las teclas de flecha para navegar y Entrar para realizar una selección. Para mantener las cosas ordenadas, es mejor crear un directorio para los archivos restaurados.
Escribimos lo siguiente para crear un directorio llamado “restaurado” para nuestros archivos restaurados:
mkdir restored

Escribimos lo siguiente para cambiar al nuevo directorio e iniciar testdisk a partir de ahí:
cd restored/

Tenemos que usar sudo con testdisk, por lo que escribimos lo siguiente:
sudo testdisk

Sobre la primera cuestión prejudicial testdisk pregunta es sobre el registro. Puede crear un nuevo archivo de registro, usar uno existente o no registrar nada en absoluto. No importa qué opción elijas; no afectará la forma testdisk Opera.

Simplemente puede presionar Entrar para aceptar la opción resaltada y crear un nuevo archivo de registro. Se creará en el directorio desde el que comenzó testdisk. Cuando haga su selección, testdisk pregunta qué disco duro contiene el sistema de archivos en el que desea trabajar.
Enumera los discos duros que puede encontrar, así como el squashfs Archivos “/dev/loop”. Habrá uno de estos para cada aplicación que haya instalado desde un snap. Son de solo lectura, por lo que no debería haber logrado eliminar nada de estos sistemas de archivos.

Solo hay un disco duro físico en esta computadora de prueba, por lo que usamos la flecha hacia abajo para resaltar la opción “/dev/sda”. Luego usamos la flecha derecha para seleccionar “Continuar” y luego presionamos Entrar.

testdisk también necesita conocer el tipo de partición. Presenta un menú de opciones, junto con el tipo de partición que se detecta automáticamente en la parte inferior.

A menos que tenga una buena razón para no hacerlo, resalte el tipo de partición que se detecta automáticamente y, a continuación, presione Entrar.
En el menú de funciones que aparece, resalte “Avanzado” y, a continuación, presione Entrar.

Aparecerá el menú de selección de partición.

Los archivos que estamos buscando están en la partición del sistema de archivos linux. Solo tenemos una partición de Linux en nuestro disco duro, pero es posible que tenga más.
Seleccione la partición en la que se encontraban sus archivos, use las teclas de flecha izquierda y derecha para seleccionar “Lista” y luego presione Entrar. El menú de selección de archivos parecer.

Utilice las flechas arriba y abajo o las teclas PgUp y PgDn para navegar por la lista de archivos y directorios. Presione la flecha derecha o Entrar para ingresar a un directorio y la flecha izquierda o Esc para salir de un directorio.
Estamos buscando archivos que eran propiedad de dave. Los archivos de todas las cuentas de usuario se encuentran en el directorio “Inicio”. Entonces, resaltamos el directorio “Inicio”, y luego podemos presionar la flecha derecha o Entrar para ingresar a ese directorio.
Todas las cuentas de usuario se enumeran para nosotros. Destacamos davey, a continuación, presione la flecha derecha o Entrar para entrar en ese directorio.

Ahora podemos ver los archivos que pertenecen a la dave cuenta. Se han eliminado las entradas en rojo. Navegamos por los archivos y directorios hasta localizar los archivos que queremos recuperar.

Para recuperar un archivo, simplemente resáltelo y luego presione c (minúscula).
La pantalla cambia y le indica que elija un destino para el archivo recuperado. Porque creamos un directorio llamado “Restaurado” y comenzamos testdisk a partir de él, la primera entrada en la lista (.) es ese directorio. Para recuperar este archivo eliminado en ese directorio, presionamos C (mayúsculas).

Después de hacer esto, volverá a la pantalla de selección de archivos. Si desea recuperar más archivos, simplemente repita el proceso. Resalte un archivo eliminado, presione c (minúscula) para copiarlo y, a continuación, presione C (mayúsculas) para recuperarlo.
Trabajar con archivos restaurados
Después de restaurar un archivo, se reconstruye el árbol de directorios a su ubicación original, lo cual es útil porque le recuerda en qué parte del disco duro residía el archivo original. Esto significa que si necesita copiarlo de nuevo, sabe dónde colocarlo.
Si recupera una serie de archivos de diferentes ubicaciones del sistema de archivos que tienen el mismo nombre de archivo, deberán almacenarse por separado de todos modos.
Puede escribir lo siguiente para ver el contenido del directorio “Restaurado”:
ls
Si preguntaste testdisk para crear un archivo de registro, estará en el directorio “Restaurado”. Debido a que nuestros archivos recuperados se encontraban en “/home/dave”, se han copiado en nuestro directorio “Restaurado”, anidados en directorios con el mismo nombre.
Podemos cambiar al directorio “dave” copiado usando cd. Asegúrese de no incluir una barra diagonal delantera (/) en el camino: desea cambiar al “hogar” local, no al sistema “/hogar”.
Escribimos lo siguiente:
cd home/dave
Los archivos recuperados están en ese directorio, por lo que escribimos:
ls

Echemos otro vistazo a los archivos recuperados utilizando el -l Opción (lista larga):
ls -l

Porque usamos sudo para lanzar testdisk, los archivos recuperados se han restaurado con “root” como propietario. Podemos cambiar el propietario de nuevo a “dave” usando chown:
sudo chown dave.dave *

Escribimos lo siguiente para asegurarnos de que se haya restaurado la propiedad correcta:
ls -l

testdisk: Código para alivio
Esa sensación de alivio después de recuperar un archivo importante que, hace un momento, se sentía irremediablemente perdido, es algo que siempre apreciarás.
Por eso testdisk es una utilidad tan útil. Después de pasar por los menús y comenzar a restaurar archivos, es fácil caer en un ritmo de resaltado, c, C, repetir.