Reparatur nach Ausführung von rm -rf / *

8

Ich bin versehentlich rm -rf /*auf meinem Ubuntu 10.10 gelaufen und habe den Befehl schnell abgebrochen. Ich war nicht root und habe nicht verwendet, sudoaber viele meiner Dateien wurden gelöscht. Das System reagiert weniger schnell und ich bin mir nicht sicher, wie ich es beheben soll. Zum Beispiel habe ich Firefox neu installiert und es hat viele Firefox-Probleme gelöst, aber Rechtsklick ist sehr träge. Deluge erhöht die CPU-Auslastung (1 Kern) weiterhin auf 100%. Shutter ist auch ein bisschen komisch in Bezug auf die Reaktionsfähigkeit.

Kann ich irgendetwas tun, um alles zu reparieren? Möchten Sie jedes installierte Paket und alle Ubuntu-Dateien neu installieren?

Ashfame
quelle
4
Ich würde vorschlagen, ein Backup und eine Neuinstallation zu machen: S
Shroff
3
Wie Sie selbst versehentlich betreiben einen solchen Befehl?
Ward Muylaert
@hroff Das ist mein letzter Ausweg! Ich versuche es zu vermeiden, da dies bedeuten würde, dass GB Daten erneut von Dropbox heruntergeladen werden und ganz zu schweigen von der Zeit, die für eine Neuinstallation benötigt wird
Ashfame,
@ Ward Ich habe den Pfad bearbeitet und ihn versehentlich zum Laufen gebracht
Ashfame
1
@Alin Andrei rm -rf /*lief gut für mich am 10.10
Ashfame

Antworten:

10

Ich war nicht root und habe nicht verwendet, sudoaber viele meiner Dateien wurden gelöscht.

Sie haben höchstwahrscheinlich nur Ihre persönlichen Einstellungen gelöscht. Erstellen Sie einen neuen Benutzer, melden Sie sich als dieser Benutzer an und prüfen Sie, ob alles in Ordnung ist. Es sollte sein.

Wenn dies das Szenario ist, können Sie Ihre Dateien und nicht fehlenden Konfigurationsdateien in den neuen Benutzerordner verschieben.

d4n13l
quelle
Genau. Der Befehl hat wahrscheinlich Dateien in Ihrem / home-Verzeichnis gelöscht, da zu /*erweitert wird /bin /boot /dev /etc /file.img /home /initrd.img /initrd.img.old /lib ....
arrangieren Sie den
Ja, alle Einstellungen und Konfigurationen waren weg. Ich verstehe nicht, warum das mit selbst neu installierten Firefox und Flut durcheinander bringen würde. Dem gesamten System mangelt es an schneller Reaktionsfähigkeit, wie es vor diesem Vorfall war.
Ashfame
@arrange meine Dateien tief unter mehreren Verzeichnissen in meinem Haus wurden auch gelöscht n Ich erinnere mich nicht, ob ich den Schalter -r hatte
Ashfame
6

Sie können dieses Skript verwenden, um alle Ihre Pakete neu zu installieren. Es ist ein wenig hackisch, da ich den dpkg-Steuerungsmechanismus nicht finden konnte, ohne in Python herumzuhacken:

#!/bin/bash

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

Speichern Sie das in der Datei reinstall.shund führen Sie es aus, indem Sie es bash reinstall.shüber die Befehlszeile ausführen . Dies wird eine Weile dauern, aber alles wird neu installiert.

Martin Owens -doctormo-
quelle
Ich kann die Dinge erneut installieren, wenn ich eine Neuinstallation durchführe. Sie waren nicht zu viele. Ich verstehe Ihre Idee jedoch.
Ashfame
2

Sie können eine Sicherungskopie aller installierten Pakete erstellen, anschließend eine Neuinstallation und anschließend einen Wiederherstellungsprozess durchführen.

Rufen Sie zunächst von einem Computer mit allen vorinstallierten Anwendungen Ihre Liste der installierten Pakete ab und leiten Sie die Ausgabe in eine Datei mit dem Namen packages.txt um. Speichern Sie diese Paketliste irgendwo, damit Sie sie für den Wiederherstellungsprozess verwenden können.

sudo dpkg --get-selections > packages.txt

Um alle Anwendungen aus Ihrer Liste wiederherzustellen, müssen Sie einen dreistufigen Prozess sehr sorgfältig ausführen.

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

Sie werden aufgefordert, alle neuen Anwendungen in der Liste zu installieren. Ein weiteres Beispiel für diesen Prozess ist das Erstellen einer Baseline aller Anwendungen nach einer Neuinstallation von Ubuntu. Angenommen, Sie möchten alle seit der Neuinstallation installierten Anwendungen entfernen, genau denselben Vorgang ausführen und alle Pakete, die nicht in dieser Liste definiert sind, werden entfernt.

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

Der allererste Befehl von --clear-selectionsmarkiert alle derzeit installierten Pakete im Status deinstall. Wenn Sie die Liste der Anwendungen mit wiederherstellen --set-selections, bleiben nur in der Liste ausgelassene Pakete im deinstallStatus. Aptitude berücksichtigt den Deinstallationsstatus und entfernt die zusätzlichen Pakete, sodass Sie nur noch Pakete aus der Liste haben.

hhlp
quelle
1
Das ist wahrscheinlich das, wonach ich gesucht habe. Wenn ich es richtig verstehe, markieren --clear-selections, dass Pakete nicht benötigt werden und entfernt werden sollten, aber dann importieren wir unsere Paketliste, so dass fast dieselbe Konfiguration, die wir beim Exportieren der Liste hatten, als markiert markiert werden muss, um installiert zu werden. Einige Pakete sind bereits vorhanden (die zuvor zum Entfernen markiert wurden, werden jetzt erneut als erforderlich markiert), und dann macht die Installation von sudo aptitude endlich das, was noch aussteht, dh welche neuen Pakete benötigt werden. Recht?
Ashfame
0

Ich habe die Probleme durch eine Neuinstallation behoben.

Wie @ d4n13l vorschlug , hatte mein System einen Reaktionsverlust erlitten und mehr als nur meine Dateien waren verschwunden.

Ich denke, @ Martins Ansatz ist etwas, das man nach einer Neuinstallation für die Installation früherer Pakete, die Sie hatten, wählen sollte. Ich hatte nur sehr wenige davon und habe sie daher erneut über das Ubuntu Software Center installiert.

Vielen Dank an alle, die sich damit befasst haben. :) :)

Ashfame
quelle
Sie können Ihre Antwort als akzeptierte Antwort markieren, da Sie dies letztendlich getan haben. Wenn Martins Antwort für Sie jedoch nützlich war, stimmen Sie ab!
Jorge Castro
ok Ich habe meine Antwort als akzeptierte Antwort markiert, weil ich das letztendlich getan habe. Aber die Antworten von Martin und hhlp sind für jemanden in Not hilfreicher.
Ashfame