Eliminé mi escritorio y todo se congeló. ¿Qué hice?

Eliminé mi escritorio y todo se congeló. ¿Qué hice?

Así que estaba jugando con un experimento de disco en vivo (usando un HHD externo como disco en vivo) e hice un script que creó 9,023 directorios en mi escritorio antes de que pudiera detenerlo. Siendo el novato que soy, ejecuté este comando para limpiar mi desorden:

rm -rf Desktop 

Y luego creé una nueva carpeta llamada Escritorio en mi directorio de inicio. Mi computadora funcionó bien durante unos segundos y luego todo, excepto el mouse, se congeló. Afortunadamente, todo estaba en un disco en vivo, por lo que no se perdió nada, pero me gustaría saber qué hice realmente.

Intenté buscar en Google "directorio de escritorio eliminado de Ubuntu" y otras variaciones, pero lo único que encontré fue gente intentando deshacerme de él, no recuperarlo.

EDITAR: hubo cierto interés en la bomba horquilla que ejecuté. No te rías:

while true; do
for i in a; do
declare b=b+1
mkdir "$b" 
done
done

En cierto modo adiviné lo que haría, pero estaba acostumbrado a trabajar con Python, donde podía matarlo rápidamente antes de que se saliera demasiado de control.

Para cualquiera que lea esto en algún momento en el futuro: no utilice esa bomba bifurcación, hace un desastre.

PD: Antes de decir lo tonto que fue para mí hacer eso en primer lugar, tenga en cuenta que estaba en un disco en vivo que fue reservado solo con el propósito de hacer cosas así para poder aprender.

Respuesta1

Es bueno que hayas hecho esto con un Live USB o habrías perdido algunos datos, casi con seguridad. Limpiar después de eso habría sido una enorme pérdida de tiempo.

Primero, ejecutaste lo que se conoce como bomba horquilla. Una bomba de bifurcación es un comando simple, a menudo confuso, que seguirá generando nuevos procesos, carpetas o archivos hasta que llene espacio en el disco, consuma ciclos de CPU o consuma toda la RAM. Esto hace que la computadora se congele porque no tiene más recursos para ofrecer.

En segundo lugar, eliminaste tu DE (entorno de escritorio), que es lo que ves, son los gráficos con los que interactúas, las ventanas que tienes abiertas (más o menos, hay un administrador de ventanas, pero lo omitiremos por ahora). Básicamente, eliminaste todo aquello en lo que podías hacer clic.

Es bueno aprender. Utilice su motor de búsqueda favorito antes de escribir comandos en la terminal. Siempre, siempre sepa qué hace el comando antes de presionar ENTER. No puedo enfatizar eso lo suficiente. Hay personas que te engañarán intencionalmente. La terminal es una herramienta potencialmente poderosa. Es la mejor herramienta en su caja de herramientas pero, como todas las herramientas, debe manejarla con cuidado.

Si nos dice cuál fue el comando para la bomba horquilla, podríamos digerirlo y decirle exactamente qué hizo y por qué. Pareces una persona curiosa, ¿tal vez también te gustaría aprender eso?


Editar:

Ahora has incluido el código de tu bomba horquilla. Incluiré esto para la próxima persona que venga. Si lo miras y analizas la lógica, puedes ver que dice que siempre que exista una condición (sea verdadera), entonces haz algo (crea un directorio enumerado) y, como no hay nada que le indique que se detenga (un bucle), continuará hasta que se consuman los recursos, se consuma la RAM o hasta que haya algún tipo de colisión que haga que las cosas se congelen. (Esto podría deberse a todo tipo de cosas, como una pérdida de memoria, pero probablemente eso no sea un factor aquí).

Por lo que suena o por lo que estoy leyendo, parece que hiciste un trabajo bastante bueno. Esta es una advertencia clara para que otros no ejecuten su código (debe agregarlo a su publicación con la función de edición o alguien más puede hacerlo si lo desea). Fue creativo. No creo haberlo visto nunca hecho de esa manera, pero la teoría es más o menos la misma en todos ellos. Nuevamente, para otros, esto puede estar oculto en código ofuscado o en código que simplemente no entenderás si no sabes cómo analizar Perl (como ejemplo). Este es un buen ejemplo de lo que no se debe hacer.

Me atrevo a decir que deberías terminar de instalarlo y divertirte un poco más. Simplemente mantenga buenas copias de seguridad.

Respuesta2

Reiniciar, volver a crear el directorio del escritorio desde una consola virtual y luego iniciar sesión nuevamente en el escritorio debería solucionarlo. Su computadora falló porque ejecutó una bomba fork o porque el directorio de su escritorio desapareció mientras su entorno de escritorio intentaba usarlo, pero en cualquier caso mi solución sugerida lo reparará (aunque haya perdido todo lo que había en su escritorio).

Respuesta3

No, eso no es un forkbomb, ya que un forkbomb ejecuta un programa repetidamente, hasta que su CPU se agota, es posible que le interesen las bombas zip, que es un archivo zip que está comprimido para que parezca que casi no contiene datos, como 42 .zip con sus 42 kbs de datos comprimidos, y extrae el archivo zip, OH NO, tienes Teribytes de datos, la computadora no puede procesar estas cosas, tu computadora ahora fallará repetidamente, básicamente una bomba es un programa que existe para dañar tu CPU. pero eliminaste los archivos principales del sistema, es como eliminar tu unidad C: en Windows y crear una nueva, tu unidad C: contiene los archivos importantes en Windows, así que si eliminas ese tu sistema operativo es como, ¿DÓNDE ESTÁ C:/Windows/? AUTOEXEC.bat, su computadora ya no se iniciará nuevamente.

información relacionada