Reparación después de ejecutar rm -rf / *

8

Accidentalmente ejecuté rm -rf /*mi Ubuntu 10.10 y cancelé el comando rápidamente. No era root y no lo usé, sudopero muchos de mis archivos fueron eliminados. El sistema se ha vuelto menos receptivo y no estoy seguro de cómo solucionarlo. Por ejemplo, reinstalé Firefox y resolvió muchos problemas de Firefox, pero el clic derecho es muy lento. Deluge sigue aumentando el uso de la CPU (1 núcleo) al 100%. El obturador también es un poco extraño en términos de capacidad de respuesta.

¿Hay algo que pueda hacer para reparar todo? ¿Te gusta reinstalar cada paquete instalado y los archivos de Ubuntu?

Ashfame
fuente
44
Sugeriría hacer una copia de seguridad y una nueva instalación: S
shroff
3
¿Cómo ejecutas accidentalmente tal comando?
Ward Muylaert
@shroff ¡Ese es mi último recurso! Estoy tratando de evitarlo, ya que significaría GB de datos que se descargan de Dropbox nuevamente y sin mencionar el tiempo que llevaría hacer una instalación nueva
Ashfame
@Ward Estaba editando el camino y accidentalmente lo hice correr
Ashfame
1
@Alin Andrei rm -rf /*corrió bien para mí el 10.10
Ashfame

Respuestas:

10

No era root y no lo usé, sudopero muchos de mis archivos fueron eliminados.

Lo más probable es que haya eliminado solo su configuración personal. Cree un nuevo usuario e inicie sesión como ese usuario, y verifique si todo está bien. Debería ser.

Si este es el escenario, puede mover sus archivos y archivos de configuración no faltantes a la nueva carpeta de usuario.

d4n13l
fuente
Estoy de acuerdo. El comando probablemente eliminó archivos en su directorio / home, ya que se /*expande a /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
organizar el
Sí, todos los ajustes y configuraciones desaparecieron. No entiendo por qué eso se equivocaría incluso con Firefox reinstalado y diluvio. Todo el sistema carece de capacidad de respuesta rápida, como era antes de este incidente.
Ashfame el
@organizar mis archivos en varios directorios de mi casa también se eliminaron n No recuerdo si tenía el
modificador
6

Puede usar este script para reinstalar todos sus paquetes, es un poco hackear ya que no pude encontrar el mecanismo de control dpkg sin piratear en python:

#!/bin/bash

for PACKAGE in `dpkg --get-selections | grep install | awk '{ print $1; }'`; do
  sudo apt-get --reinstall install $PACKAGE
done

Guarde eso en el archivo reinstall.sh, luego ejecútelo ejecutando bash reinstall.shdesde la línea de comando. Esto llevará un tiempo, pero reinstalará todo.

Martin Owens -doctormo-
fuente
Puedo instalar cosas nuevamente si estoy haciendo una instalación nueva. No fueron demasiados. Aunque entiendo tu idea.
Ashfame
2

Puede hacer una copia de seguridad de todos sus paquetes instalados, luego una instalación limpia y luego un proceso de restauración.

Primero, desde una computadora con todas las aplicaciones preinstaladas, recupere su lista de paquetes instalados y redirija la salida a un archivo llamado packages.txt. Guarde esta lista de paquetes en algún lugar para poder usarla en el proceso de restauración.

sudo dpkg --get-selections > packages.txt

Para restaurar todas las aplicaciones de su lista, debe seguir un proceso de tres pasos con mucho cuidado.

sudo dpkg --clear-selections 
sudo dpkg --set-selections < packages.txt 
sudo aptitude install

Se le pedirá que instale todas las nuevas aplicaciones en la lista. Otro ejemplo de lo que este proceso le permite hacer es crear una línea base de todas las aplicaciones después de una instalación limpia de Ubuntu. Supongamos que desea eliminar cualquier aplicación instalada desde la instalación limpia, realizar exactamente el mismo proceso y se eliminará cualquier paquete que no esté definido en esa lista.

sudo dpkg --get-selections > clean-install-package-list.txt
sudo dpkg --clear-selections
sudo dpkg --set-selections < clean-install-package-list.txt 
sudo aptitude install

El primer comando de --clear-selectionsmarca todos los paquetes instalados actualmente en el estado deinstall. Cuando restaure la lista de aplicaciones usando --set-selections, solo los paquetes omitidos de la lista permanecerán en el deinstallestado. Aptitude respetará el estado de desinstalación y eliminará los paquetes adicionales, dejándolo solo con los paquetes de la lista.

hhlp
fuente
1
Eso es probablemente lo que estaba buscando. Si lo entiendo correctamente, entonces --clear-selections marca que los paquetes no son necesarios y deben eliminarse, pero luego importamos nuestra lista de paquetes, por lo que casi la misma configuración que teníamos cuando exportamos la lista es para marcar para ser instalada. Algunos paquetes ya están allí (que se marcaron antes para eliminarlos ahora se marcan nuevamente por la necesidad de tenerlos) y luego sudo aptitude install finalmente hace lo que está pendiente, es decir, qué paquetes nuevos se necesitan. ¿Derecha?
Ashfame
0

Solucioné los problemas haciendo una nueva instalación.

Como sugirió @ d4n13l , mi sistema había recibido un golpe en la capacidad de respuesta y más que solo mis archivos habían desaparecido.

Siento que el enfoque de @ Martin es algo que uno debería seguir después de realizar una instalación nueva para instalar los paquetes anteriores que tenía. Tenía muy pocos, así que los instalé nuevamente desde el Centro de software de Ubuntu.

Gracias a todos por investigar esto. :)

Ashfame
fuente
puede marcar su respuesta como la respuesta aceptada ya que eso es lo que terminó haciendo; sin embargo, si la respuesta de Martin te fue útil, ¡vota!
Jorge Castro
ok, marqué mi respuesta como la respuesta aceptada porque terminé haciendo eso. Pero las respuestas de Martin y hhlp serán más útiles para alguien que lo necesite.
Ashfame