Ich schrieb:
(es ist doch eine ReiserFS-Partition!)ich hab schon ein Bisschen im Netz gelesen. Hat jemand so etwas schon mal wiederhergestellt? Ich habe
rm -rf /home/user
ausgeführt (auf dem falschen Rechner) und möchte es wiederherstellen. Es sind sehr _viele_ wichtige Dateien dort drin gewesen, von einer Nutzerin. Bitte jetzt keine bösen Kommentare wie "Selber schuld" etc. Ich habe die Partition ausgehängt
umount /home
Es handelt sich um eine
ReiserFS-Partition 23G groß SuSE 8.1
Obwohl es für ext2/3 mehr Ansätze, zum Teil auch Lösungen für das Wiederherstellen (undelete) von Dateien gibt, vermag das bordeigene Mittel von ReiserFS einiges leisten: Es gibt sogar Leute, bei denen alles komplett zu retten war. In meinem Fall konnte ich sehr viel wiederherstellen (recover). Es gibt aber ein paar ernstzunehmende Schäden und Murphy's Law... (Wobei ich eher befürchte, dass es noch mehr verteilte Schäden gibt, weil gleich ein paar wichtige Dateien _zum Teil_ kaputt sind. Eine hab ich gar nicht mehr gefunden (Adressbuch! - Aber ich hab die E-Mails mit einiger Handarbeit wiederherstellen können, kmailrc war nämlich auch z. T. defekt). Ich denke, da werden sich in den kommenden Wochen noch ein paar Unmuts-Momente einstellen. Leider ist mir das nicht bei mir selbst passiert, sondern bei einer Benutzerin. Man fühlt sich wie nach einem Autounfall, an dem man selbst schuld ist bzw. jemand verletzt wurde. 1. _Sofort_ # umount /hda5 ausführen (dort liegt /home), vielleicht noch mit "-f" für "force" 2. Mit # debugreiserfs /dev/hda5 (oder war es reiserfstune?) Blocksize feststellen (nötig?): 4096 3. # dd if=/dev/hda5 of=/mnt/hda5.image bs=4096 4. # losetup /dev/loop5 /nfs_import/hda5.image 5. Ggf. _mehrmals_(!) (siehe unten) # reiserfsck --rebuild-tree --scan-whole-partition /dev/loop5 6. # mount /dev/loop5 /mnt In /mnt/lost+found liegen jetzt hoffentlich ein paar Dateien mit Verzeichnissen, wegen deren Wiederherstellung man einem evtl. vorhandenen Gott danken könnte. Die untersteste Ebene in /mnt/lost+found hat nur Zahlen als Verzeichnis- bzw. Dateinamen. find und grep # man find bzw. # man grep leisten hier Wunder... NOCH WAS: Diese Prozedur, wenn sie Erfolg hat, bringt auch alle möglichen ehemals gelöschten Daten wieder zum Vorschein, was zu Verwechslungen führen kann. Es bleibt also noch einen einigermaßen Arbeit zu tun, aber nicht so viel, wie bei den meisten andereren Lösungswegen z. B. bei ext2/3. ReiserFS ist also von Haus aus eigentlich besser gerüstet gegen so etwas. Aber das sollte man nicht als wichtige Eigenschaft eines Dateisystems betrachten; lieber performant und stabil/sicher zusammen mit Backups, ohne einfache Dateiwiederherstellung. Geholfen hat auch der geniale Konqueror, mit dem man sich die Ansichten und Dateisystem-Bäume mit Terminal so zusammenklicken kann, dass man bei der Vielzahl der Dateien nicht so sehr genervt ist. Denn bei Dateinamen wie 25874_24456 gefolgt von 25874_24457 hilft die Tab-Taste nicht viel und klicken geht ECHT schneller als eintippen! Zum Thema "mehrmals reiserfsck starten": Nach dem 1. Durchlauf (run) gab es jede Menge Dateien/Verz. in lost+found, die "permission denied" waren, was praktisch einen Fehler darstellt (für root). Nach dem 2. Durchlauf gab es immerhin schon welche, die lesbar waren. Nach dem 3. Durchlauf gab es keine "permission denied"-Meldungen mehr. Die Sache ist Dienstag Nachmittag passiert, ein paar Stunden später(dd über 100MBit-Netz) habe ich das erste Mal reiserfsck drüber laufen lassen. Nach 3 Stunden ein 2. Mal. Nach weiteren 2 Stunden ein 3. Mal. Nach kurzem Schlaf dann 2 Stunden, um herauszufinden, ob der erreichte Stand einigermaßen gut ist. 2 Stunden, um die Dateien im "reparierten" Image zurück zu kopieren. 1/2 Tag Arbeit, die wichtigsten Dateien/Verz. zu identifizieren und zusammenzutragen, Mailverzeichnis wiederherzustellen, in einem neuen Verzeichnis. xx Tage, um weitere Schäden zu lokalisieren und hoffentlich zu reparieren. Ein Abendessen mit der Benutzerin (sie hat einen Freund!), die relativ viel Verständnis auch für mich hatte. xx Tage, um endlich die Backup-Lösung aufzusetzen, die der letzte HiWi _unvollständig_ umgesetzt hat, obwohl das eher nicht _meine_ Aufgabe war, aber ich leide darunter. Wie es passiert ist? Wollte Rechner neu installieren. User gefragt, ob er sein Home-Verzeichnis dort noch braucht. Nein, braucht er nicht. rm -rf /home/user ausgeführt und dann gemerkt, dass man gerade remote bei IHR eingeloggt war, als root. 1...2...3....4... Oh Gott. Die Scheiß-PCs heißen dort seit jeher tuinstpc01, tuinstpc02, ...03, ...04. Da merkt man so etwas nicht sofort. 2. habe ich unter der Textkonsole gearbeitet. Das war Scheiße, weil ich mir unter X immer versch. Farben gebe, so dass ich sehe, was remote und was lokal ist. Na ja. Ich werde trotzdem, wie gesagt, weiterhin ext3 einsetzen, zusammen mit Backups. Bei ext3 gibts wenigstens keinen Mus beim Absturz (date=ordered), bei ReiserFS schon. XFS geht glaub ich auch, bald auch ReiserFS 4. Ich dachte, es ist nicht schlecht, wenn ich das nochmal poste, für den armen Nächsten... :-/ Ciao, Ré