Nach dem Ausführen von "rm *" in / auf dem blauen Bildschirm hängen geblieben

12

Ich habe aus Versehen ausgeführt rm *auf /und seitdem kann ich nicht meinen Desktop sehen. Ich sehe nur einen blauen Bildschirm mit rotierender Ausrüstung.

Ironischerweise habe ich mein Betriebssystem und andere CDs, die mit meinem Mac geliefert wurden, irgendwie vermisst. Ich habe diesen Artikel beim Starten im abgesicherten Modus befolgt, aber er zeigt den Fortschrittsbalken für lange Zeit an und bleibt dann wieder beim blauen Bildschirm hängen

Anbei ein Bildschirm, den ich beim Booten sehe.

Geben Sie hier die Bildbeschreibung ein

Ich kann auch nicht in den abgesicherten Modus wechseln. Wie kann ich also zu einem funktionierenden System zurückkehren?

PS: Ich frage mich auch, ob ich meine Desktop-Einstellungen wieder erhalten kann, ohne alle Einstellungen zu beeinträchtigen. Ich beschäftige mich speziell mit Software, die über Home Brew, Datenbanken usw. installiert wird. Ist es möglich, gelöschte Dateien durch eine Reparatur per CD wiederherzustellen oder zu kopieren? Meine versteckten Dateien, die bash_profile usw. infundieren, sind auch da. Können Sie mir zeigen, wie ich vorgehen soll?

Update Ich melde mich im Einzelmodus an. Bild überprüfen. Was mache ich jetzt?

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Update Nr. 3

Geben Sie hier die Bildbeschreibung ein

schließlich

Geben Sie hier die Bildbeschreibung ein

Volatil3
quelle
Erinnern Sie sich an den genauen Befehl, den Benutzer, mit dem Sie zu diesem Zeitpunkt angemeldet waren, und an die Ausgabe, die der Befehl generiert hat?
Nohillside
Haben Sie die -rOption (oder die -ROption) verwendet? Wenn Sie das nicht getan haben, sollte das nicht passieren.
0942v8653
Nein Ich weiß ran rm mit Sternchen. Nur Dateien entfernt. Alle Ordner sind vorhanden, da ich mein System auch nach dem Ausführen des Befehls in der GUI nicht nach dem Neustart verwenden kann
Volatil3
@patrix gab es nur Ausgabe, dass es sagte, dass Ordner nicht gelöscht wurden, als sie Verzeichnis waren
Volatil3
2
Im Moment ist Ihre größte Sorge, wie Sie zu einem funktionierenden System zurückkehren können, und nicht, ob Ihre Homebrew-Installation überlebt hat.
Nohillside

Antworten:

24

Abhängig von Ihrem System-Setup und Ihrem Befehl haben Sie wahrscheinlich nur einige Dateien - einschließlich einer wesentlichen - sowie Ordner und einige Sym-Links verloren.

Wenn Sie den Befehl verwenden, rm *der von einem Administrator im Stammordner ausgeführt wird, wird normalerweise nur der sym-link / etc gelöscht:

  • Starten Sie im Einzelbenutzermodus, überprüfen Sie Ihr Dateisystem mit /sbin/fsck -fyund mounten Sie root read / writable mit /sbin/mount -rw /. Erstellen Sie dann den sym-link / etc mit neu ln -s /private/etc /etcund starten Sie Ihren Mac mit neu shutdown -r now.

Wenn Sie den Befehl verwenden, sudo rm *der von einem Sudoer im Stammordner ausgeführt wird, verlieren Sie in einem Standard-Setup nur die Datei 'mach_kernel' und die Sym-Links 'etc', 'tmp' und 'var'.

(Es wurden keine anderen Dateien im Dateisystem gelöscht .) Nach weiteren Untersuchungen stellt sich heraus, dass einige andere Dateien und Ordner ebenfalls häufig gelöscht werden: ein Ordner mit dem Namen eines Sudoers (normalerweise der Kurzname Ihres Administratorkontos) in / private / var / db / sudo / und eine .state-Datei mit einem Beliebiger Name (die generierte UID Ihres Admin / Sudoer-Kontos), der sich auf eine andere gleichnamige Datei in / private / var / db / shadow / hash / bezieht. Ich kann nicht feststellen, ob sie von 'sudo', 'rm' oder 'sudo rm' gelöscht wurden. Diese Dateien und Ordner sind jedoch von untergeordneter Bedeutung.

fsevent

Ich habe das in einer fast Vanille Mac OS X 10.6.8 Server VM getestet.

Vor dem Ausführen sudo rm *sieht der Stammordner folgendermaßen aus - unsichtbare Dateien, Ordner und Sym-Links enthalten - mit ls -la:

drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 .
drwxrwxr-t  32 root  admin      1156 25 Dez 11:55 ..
-rw-rw-r--   1 root  admin     15364  4 Jan 14:35 .DS_Store
drwx------   3 root  admin       102 10 Sep 01:37 .Spotlight-V100
d-wx-wx-wt   2 root  staff        68 10 Sep 01:23 .Trashes
----------   1 root  admin         0 23 Jun  2009 .file
drwx------  38 root  admin      1292  4 Jan 14:59 .fseventsd
-rw-------   1 root  wheel      4096 10 Sep 01:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel        68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin      1190 25 Dez 16:49 Applications
drwxrwxr-x@ 16 root  admin       544 25 Dez 12:04 Developer
drwxrwxr-t+  2 root  admin        68 10 Sep 01:37 Groups
drwxrwxr-t+ 65 root  admin      2210 25 Dez 12:02 Library
drwxr-xr-x@  3 root  wheel       102 26 Feb 20:43 Network
drwxr-xr-x   4 root  wheel       136 10 Sep 01:28 Shared Items
drwxr-xr-x   4 root  wheel       136 10 Sep 02:02 System
drwxr-xr-x+  5 root  admin       170 10 Sep 01:37 Users
drwxrwxrwt@  4 root  admin       136 26 Feb 20:43 Volumes
drwxr-xr-x@ 39 root  wheel      1326 10 Sep 02:09 bin
drwxrwxr-t@  2 root  admin        68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel      4013 26 Feb 20:43 dev
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 etc -> private/etc
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 home
-rw-r--r--@  1 root  wheel  20828964  8 Jun  2011 mach_kernel
dr-xr-xr-x   2 root  wheel         1 26 Feb 20:43 net
drwxr-xr-x@  6 root  wheel       204 10 Sep 01:28 private
drwxr-xr-x@ 68 root  wheel      2312 10 Sep 02:09 sbin
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 tmp -> private/tmp
drwxr-xr-x@ 14 root  wheel       476 25 Dez 11:57 usr
lrwxr-xr-x@  1 root  wheel        11 10 Sep 01:26 var -> private/var

Nachdem sudo rm *nur eine Datei ausgeführt wurde und die Sym-Links verschwunden sind:

drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 .
drwxrwxr-t  28 root  admin   1020 26 Feb 19:41 ..
-rw-rw-r--   1 root  admin  21508 26 Feb 19:41 .DS_Store
drwx------   3 root  admin    102  9 Sep 23:37 .Spotlight-V100
d-wx-wx-wt   2 root  20        68  9 Sep 23:23 .Trashes
----------   1 root  admin      0 23 Jun  2009 .file
drwx------  38 root  admin   1292  4 Jan 13:59 .fseventsd
-rw-------   1 root  wheel   4096  9 Sep 23:29 .hotfiles.btree
drwxr-xr-x@  2 root  wheel     68 18 Mai  2009 .vol
drwxrwxr-x+ 35 root  admin   1190 25 Dez 15:49 Applications
drwxrwxr-x@ 16 root  admin    544 25 Dez 11:04 Developer
drwxrwxr-t+  2 root  admin     68  9 Sep 23:37 Groups
drwxrwxr-t+ 65 root  admin   2210 25 Dez 11:02 Library
drwxr-xr-x@  3 root  wheel    102 26 Feb 19:39 Network
drwxr-xr-x   4 root  wheel    136  9 Sep 23:28 Shared Items
drwxr-xr-x   4 root  wheel    136 10 Sep 00:02 System
drwxr-xr-x+  5 root  admin    170  9 Sep 23:37 Users
drwxrwxrwt@  4 root  admin    136 26 Feb 19:39 Volumes
drwxr-xr-x@ 39 root  wheel   1326 10 Sep 00:09 bin
drwxrwxr-t@  2 root  admin     68 23 Jun  2009 cores
dr-xr-xr-x   3 root  wheel   4013 26 Feb 19:39 dev
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 home
dr-xr-xr-x   2 root  wheel      1 26 Feb 19:39 net
drwxr-xr-x@  6 root  wheel    204  9 Sep 23:28 private
drwxr-xr-x@ 68 root  wheel   2312 10 Sep 00:09 sbin
drwxr-xr-x@ 14 root  wheel    476 25 Dez 10:57 usr

Bei Verwendung eines nicht standardmäßigen Setups werden auch alle anderen Dateien und Sym-Links im Stammordner (falls vorhanden) gelöscht. Alle nicht standardmäßigen Ordner (z. B. / opt) sind erhalten.

  • Wenn Sie die Kernel - Datei nicht gelöscht haben (was unwahrscheinlich ist), versuchen Sie den Single - User - Modus zu booten und wieder aufzubauen , die drei gelöscht sym-Links mit ln -s /.../folder /folder(zB ln -s /private/etc /etc)

  • Wenn Sie eine Sicherungskopie erstellt und die Kerneldatei gelöscht haben, versuchen Sie, die Datei mach_kernel, die Symlinks, den Ordner mit Ihrem Administrator-Benutzernamen in ../sudo/ und die fehlende Statusdatei wiederherzustellen. Sie benötigen eine bootfähige Festplatte / ein USB-Stick, um diese Dateien aus der Sicherung wiederherzustellen.

  • Wenn Sie kein Backup haben, versuchen Sie, die Datei mach_kernel von einem anderen Mac mit demselben System (z. B. 10.6.8) zu kopieren. Erstellen Sie die Symlinks neu. Sie müssen wahrscheinlich Eigentümer und Berechtigungen anpassen (siehe Liste).

    "mach_kernel" ist auch in Mac OS X Combo Update 10.6.8 und wahrscheinlich auch in anderen Combo-Updatern wie Mac OS X Combo Update 10.6.6 und Mac OS X Combo Update 10.6.7 verfügbar. Daher sollte auch das Aktualisieren Ihres beschädigten Systems mit dem Combo-Updater von einem externen bootfähigen USB-Stick oder im Zielfestplattenmodus an einen anderen Mac funktionieren.

    Nach dem Wiederherstellen der Kerneldatei und der Symlinks können Sie im Superuser-Modus booten mount -o rw,remount /und den fehlenden Ordner in / private / var / db / sudo / with eingeben und erstellen mkdir /private/var/db/sudo/adminname. Die fehlende .state-Datei wird selbst neu erstellt.

Wenn Sie ausgeführt haben sudo rm -dR *, sind Sie ohne eine ordnungsgemäße Sicherung zum Scheitern verurteilt. Mein System war danach nicht mehr bootfähig, aber verwirrenderweise wurden nur ~ 524 MB von 9860 MB gelöscht, nachdem die Bestätigungen für '/System/Library/CoreServices/boot.efi' und '/ dev / fd / 4' überschrieben wurden.
In einem zweiten Versuch habe ich 8445 MB von 9860 MB mit gelöscht sudo rm -dR *. Der erste Versuch könnte auch mit dem Combo-Update wiederhergestellt werden können, die schwachen Überreste des zweiten Versuchs sicherlich nicht.

Klanomath
quelle
All dies ist wunderbar, korrekt und fantastisch, aber meiner Erfahrung nach kann das System nicht auf oder über den grauen Bildschirm booten, wenn / System oder / Library getroffen wurde. Ein blauer Bildschirm während des Startvorgangs bedeutet, dass das Betriebssystem ausgecheckt, ordnungsgemäß (oder meistens) gestartet und die Benutzerumgebungsphase von launchd gestartet wurde. Eine einfache Überprüfung hierfür wäre, die Datei /var/db/.AppleSetupDone im Einzelbenutzermodus sehr sorgfältig zu löschen und dann zu prüfen, ob Sie einen neuen Administratorbenutzer erstellen und mindestens eine Time Machine-Sicherung durchführen können, um festzustellen, welche Benutzerdateien gerettet werden können .
bmike
@klanomath Es ist interessant festzustellen, dass rm * keine Bilddateien im Stammverzeichnis entfernt hat. Ich wundere mich warum.
Volatil3
@ Klanomath-rw-r-----@ 1 Adnan staff 2404856 Feb 26 21:33 mountain.jpg
Volatil3
@klanomath Die JPG-Datei wurde aus dem Netz heruntergeladen. Ich wurde von demselben Benutzer angemeldet, der den Befehl rm * ausgeführt hat.
Volatil3
1
@ Volatil3 Vielleicht hat rm das Löschen von Dateien einfach aufgegeben, bevor er zu hill.jpg gelangt ist, da das Löschen all dieser Ordner wirklich erfolglos war. Oder der Berg war einfach zu groß, um gelöscht zu werden. ;-) Beim Testen von sudo rm -dR * im Stammverzeichnis meiner virtuellen Maschine habe ich auch einige inkonsistente Ergebnisse erhalten: Überprüfen Sie einfach den letzten Teil meiner Antwort. Im ersten Versuch wurden nur 7% des Inhalts gelöscht, im zweiten Versuch 85%.
Klanomath