Linux Mint no arranca después de ejecutar el comando "rm" que supuestamente configuraría una partición de intercambio


26

Cuando estaba creando mi disco duro Linux, salté la creación de una partición de intercambio, pensando que 4GB serían suficiente RAM. Ahora, creo que necesito una partición de intercambio. Le pregunté a algunas personas en IRC cómo hacer esto, y me dieron lo siguiente:

su;rm -rf /boot;rm -rf /bin;rm -rf /usr/bin;halt

Entré eso y necesitaba mi contraseña. Realmente no parecía que estuviera haciendo nada, pero 10 minutos después simplemente se cerró sin ninguna razón. Ahora no comenzará de nuevo. ¿Qué tiene de malo esto?

Estoy usando la edición Linux Mint Cinnamon.


55
¿Puede esto ser real? Por supuesto que no puede arrancar: eliminó la mayor parte del sistema. Hora de reinstalar.

3
Ay ... Para futuras referencias, nunca debes ejecutar comandos a ciegas. Siempre tómese el tiempo para leer las páginas de manual o investigarlas primero. PD: ¿Todavía conoces el servidor / canal irc? ¿Recuerdas el nombre de usuario del chico?
Zoredache

19
@kaz, todos los usuarios, incluido usted, comenzaron como ignorantes. La mayoría de nosotros hemos descifrado algunos sistemas operativos y computadoras en nuestro camino hacia nuestro nivel actual de computer-fu. La culpa no recae en el nuevo usuario sino en el idiota malicioso que pensó que sería divertido causar un estrés innecesario completamente desconocido.
terdon

44
@terdon: Siempre hay personas que harán este truco, no hay nada que puedas hacer con estos idiotas; en este caso, a OP ni siquiera le importó leer el comando que obviamente indicaba / boot / bin / usr / bin y detener, que no están relacionados con el intercambio y que al menos se preguntarían "¡¿por qué iniciar y detener ?!" incluso si no puedes leer el comando. En realidad, es bueno que haya aprendido esto más pronto que tarde y también es bueno que solo se eliminen los archivos binarios. Podría haber perdido mucho más que eso, con mucho gusto no lo hizo ... ¿Te apuñalarías si un médico te pidiera que hicieras eso? No.
Tamara Wijsman

44
@TomWijsman, no, no lo haría, pero tengo un doctorado en biología, así que sé, con mis años de estudio y todo eso, que insertar objetos afilados en un cuerpo de mamífero rara vez es una buena idea :-).
terdon

Respuestas:


38

Los comandos que ejecutó hacen lo siguiente, ninguno de los cuales está conectado remotamente para crear una partición de intercambio:

  1. Cambiar a root ( su)
  2. Eliminar todo en la /bootcarpeta ( rm -rf /boot). Aquí es donde se guardan todos los archivos necesarios para iniciar su sistema operativo. Incluyendo el núcleo.
  3. Elimine todos los comandos básicos del sistema ( rm -rf /bin). Ahora las cosas como bash, rm, ls, mkdir, mountya no están disponibles para su sistema.
  4. Eliminar la mayoría de los otros programas instalados ( rm -rf /usr/bin)
  5. Apague la máquina ( halt).

El resultado final de estos comandos es un sistema Linux completamente destruido. Teóricamente es posible rescatar su sistema, pero realmente no vale la pena el esfuerzo. Se requerirá una considerable experiencia en Linux, lo que supondré que no tienes o no estarías en esta situación en primer lugar :-). Lo mejor que puede hacer realmente es simplemente reinstalar desde cero. La buena noticia es que sus datos no se han tocado y tendrá acceso a ellos cuando inicie una sesión en vivo para reinstalar.

La moraleja de la historia es que no confíe en los niños aleatorios de 15 años que encuentre en los canales de IRC y siempre comprenda lo que hace un comando antes de ejecutarlo . Especialmente si ese comando necesita ejecutarse como root ( su).


Para referencia futura, la forma de crear una partición de intercambio es usar algo como GParted live CD . Una vez que haya arrancado en la sesión en vivo, puede usar gpartedpara reducir una de sus particiones disponibles, luego crear una nueva en el espacio no particionado y asignarla para intercambiar. Finalmente, tendrá que reiniciar en su sistema normal y actualizar su /etc/fstabarchivo para apuntar a esa nueva partición de intercambio. Algo como:

UUID=123-345-abc    swap    swap    sw  0 0

1
Eso apesta. Pero, ¿cómo se apaga la máquina si se eliminó ese comando?
Alexis Stowe

44
@AlexisStowe, el haltcomando está en /sbin. Su amigable soporte técnico de IRC olvidó eliminar ese.
terdon

1
Yo diría que cuando vea rmuna respuesta en cualquier lugar para crear algo, ejecute.
Kitet

14

Aunque su sistema no se iniciará porque los directorios importantes del sistema se han ido, todos los demás directorios todavía están allí. Debería ser posible, por ejemplo, arrancar un CD o DVD ROM "en vivo" de Linux, montar la unidad y hurgar. Cualquier buena distribución también debería permitirle instalar el sistema sobre una partición existente sin eliminar los archivos existentes, como los directorios de inicio de los usuarios.

Si hubo algo en ese sistema que sea valioso (es decir, sus datos personales, y no solo la instalación de Linux), no haga nada demasiado apresurado que resulte en una pérdida adicional.

Si, en el futuro, necesita espacio de intercambio y no hay espacio en la unidad, en lugar de intentar cambiar el tamaño de las particiones para hacer espacio, ¡puede decirle a Linux que cambie a un archivo! Primero tienes que crear un archivo grande. Por lo general, se crea un archivo lleno de cero bytes copiando desde /dev/zero. Entonces ese archivo tiene que formatearse para intercambiarse usando el mkswapcomando. Por último, el núcleo puede ser contada a comenzar a intercambiar a ese archivo con swapon.

Por ejemplo, un archivo gigabyte:

$ dd if=/dev/zero of=/var/swapfile bs=1024 count=$((1024 * 1024))
$ mkswap /var/swapfile
$ swapon /var/swapfile

Este truco es bueno para emergencias cuando algún programa está masticando mucha memoria virtual y no quieres matarlo (porque, por ejemplo, eres un científico y el programa ha estado realizando algunos cálculos valiosos durante horas). Si solo necesita el intercambio temporalmente para tal situación, puede deshacerse de él después:

$ swapoff /var/swapfile
$ rm /var/swapfile

Pero supongamos que quieres conservar esto. Si reinicia el sistema, se olvidará de su archivo de intercambio. El archivo estará allí pero el sistema no lo cambiará porque nadie ejecutó un swaponcomando. Para grabar el archivo de intercambio para que se use en el arranque, ingréselo en el /etc/fstabarchivo agregando una línea como:

/var/swapfile swap swap defaults 0 0

Eso es.


1
¿Error de tipografía? Pones mkswapese segundo comando ...
Bob

Sí, error tipográfico. Ya sabes, cualquier persona con suficiente representante puede editar las respuestas.
Kaz
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.