Riparare dopo aver eseguito rm -rf / *


8

Ho eseguito accidentalmente rm -rf /*sul mio Ubuntu 10.10 e ho annullato rapidamente il comando. Non ero root e non ho usato sudoma molti dei miei file sono stati eliminati. Il sistema è diventato meno reattivo e non sono sicuro di come risolverlo. Ad esempio, ho reinstallato Firefox e ho risolto molti problemi di Firefox, ma il clic destro è molto lento. Il diluvio continua ad aumentare l'utilizzo della CPU (1 core) al 100%. Anche l'otturatore è un po 'strano in termini di reattività.

C'è qualcosa che potrei fare per riparare tutto? Come reinstallare tutti i pacchetti installati e i file Ubuntu?


4
Suggerirei di fare un backup e una nuova installazione: S
Shroff

3
Come si esegue accidentalmente un tale comando?
Ward Muylaert,

@shroff Questa è la mia ultima risorsa! Sto cercando di evitarlo poiché significherebbe scaricare nuovamente GB di dati da Dropbox e per non parlare del tempo necessario per eseguire una nuova installazione
Ashfame,

@Ward Stavo modificando il percorso e l'ho fatto accidentalmente correre
Ashfame il

1
@Alin Andrei ha rm -rf /*funzionato bene per me il 10.10
Ashfame,

Risposte:


10

Non ero root e non ho usato sudoma molti dei miei file sono stati eliminati.

Molto probabilmente hai eliminato solo le tue impostazioni personali. Crea un nuovo utente e accedi come tale utente e controlla se è tutto a posto. Dovrebbe essere.

Se questo è lo scenario, puoi spostare i tuoi file e i file di configurazione non mancanti nella nuova cartella utente.


Sono d'accordo. Il comando probabilmente ha eliminato i file nella directory / home, man mano che si /*espande /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
organizzare il

Sì, tutte le impostazioni e le configurazioni erano sparite. Non capisco perché dovrebbe rovinare anche Firefox e diluvio reinstallati. L'intero sistema manca di reattività rapida, come era prima di questo incidente.
Ashfame,

@range i miei file in profondità in diverse directory della mia casa sono stati eliminati n Non ricordo se avessi l'
opzione

6

Puoi usare questo script per reinstallare tutti i tuoi pacchetti, è un po 'hackish in quanto non sono riuscito a trovare il meccanismo di controllo di dpkg senza hackerare in Python:

#!/bin/bash

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

Salvalo nel file reinstall.sh, quindi eseguilo eseguendo bash reinstall.shdalla riga di comando. Questo richiederà un po 'di tempo, ma reinstallerà tutto.


Posso installare di nuovo le cose se sto eseguendo una nuova installazione. Non erano troppi. Capisco la tua idea però.
Ashfame,

2

È possibile effettuare un backup di tutti i pacchetti installati, quindi un'installazione pulita e quindi un processo di ripristino.

Innanzitutto, da un computer con tutte le applicazioni preinstallate, recupera l'elenco dei pacchetti installati e reindirizza l'output a un file chiamato pacchetti.txt. Salvare l'elenco dei pacchetti da qualche parte in modo da poterlo utilizzare per il processo di ripristino.

sudo dpkg --get-selections > packages.txt

Per ripristinare tutte le applicazioni dall'elenco, è necessario seguire attentamente una procedura in tre passaggi.

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

Ti verrà richiesto di installare tutte le nuove applicazioni nell'elenco. Un altro esempio di ciò che questo processo ti consente di fare è creare una base di tutte le applicazioni dopo un'installazione pulita di Ubuntu. Supponiamo che desideri rimuovere tutte le applicazioni installate dall'installazione pulita, eseguire esattamente lo stesso processo e tutti i pacchetti non definiti in tale elenco verranno rimossi.

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

Il primo comando di --clear-selectionscontrassegna tutti i pacchetti attualmente installati allo stato deinstall. Quando ripristini l'elenco di applicazioni utilizzando --set-selections, solo i pacchetti omessi dall'elenco rimarranno nello deinstallstato. Aptitude rispetterà lo stato di disinstallazione e rimuoverà i pacchetti extra, lasciandoti solo con i pacchetti dalla lista.


1
Questo è probabilmente quello che stavo cercando. Se lo capisco correttamente, allora --clear-selections indica che i pacchetti non sono necessari e dovrebbero essere rimossi, ma poi imitiamo il nostro elenco di pacchetti, quindi quasi la stessa configurazione che avevamo quando esportavamo l'elenco deve essere contrassegnata per essere installata. Alcuni pacchetti sono già lì (che sono stati contrassegnati in precedenza per la rimozione, ora sono di nuovo contrassegnati per necessità di averli) e quindi sudo aptitude install finalmente fanno ciò che è in sospeso, cioè quali nuovi pacchetti sono necessari. Giusto?
Ashfame,

0

Ho risolto i problemi eseguendo una nuova installazione.

Come suggerito da @ d4n13l , il mio sistema ha avuto un successo in termini di reattività e molto più che i miei file erano spariti.

Sento che l'approccio di @ Martin è qualcosa che si dovrebbe fare dopo aver fatto una nuova installazione per installare i pacchetti precedenti che avevi. Ne avevo pochissime, quindi le ho installate di nuovo da Ubuntu Software Center.

Grazie a tutti per aver esaminato questo. :)


puoi contrassegnare la tua risposta come risposta accettata poiché è quello che hai finito per fare; tuttavia se la risposta di Martin ti è stata utile votala!
Jorge Castro,

ok ho contrassegnato la mia risposta come risposta accettata perché ho finito per farlo. Ma le risposte di Martin e hhlp saranno più utili per qualcuno nel bisogno.
Ashfame,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.