Τι είπες Αλέκο? Έσβυσες καταλάθος το directory? XAXAXAXAXAXAXA
Τί? Έχεις ReiserFS? XAXAXAXAXA
Τί? Δεν έχεις Backup? AXAXAXAXAXAXAXAXAX
Αλλά ας σοβαρευτούμε 😉 Εδώ πρέπει να σας πω ότι κανονικά το reiserfs δεν έχει την δυνατότητα για undelete..Οι γνώμες στο net για την δυνατότητα undelete σε συστήματα αρχείων είναι πάνω κάτω οι εξής σκληροπυρηνικές…Να προσέχεις για να μην το σβήσεις..Να παίρνεις backup..κλπ
Τι να κάνουμε όμως που ακόμα και κάποιοι με πολύχρονη εμπειρία σε υπολογιστές δεν μπορούν να είναι πάντα σε εγρήγορση και μπορεί απο λάθος να σβήσουν τα αρχεία τους?
Η γνώμη μου είναι ότι αν θέλουμε το linux να επικρατήσει για τα καλά στο desktop πρέπει να υπάρξει filesystem με δυνατότητα undelete..
Η αλήθεια είναι ότι το ext2 έχει μια τέτοια δυνατότητα αλλά είναι κάπως παρωχημένο σε σχέση με τα journaling συστήματα…
Ας είναι όμως αρκετά γκρίνιαξα…
Παρακάτω θα σας περιγράψω τι έκανα εγώ για να επαναφέρω τα αρχεία μου μετα απο μια κατα λάθος διαγραφή..
Μόλις κατάλαβα ότι έσβυσα ολόκληρο το folder με τα έγγραφα μου, εκτός του ότι κόντεψα να σκάσω απο τα νεύρα μου (ναι δεν είχα backup), έσβυσα αμέσως το PC βγάζοντας την μπρίζα!!
Αυτό το έκανα για να προλάβω τυχαία εγγραφή επάνω στους sectors που προηγουμένως καταλάμβανε κάποιο απο τα αρχεία μου…Έχει βέβαια αυτός ο τρόπος και τον κίνδυνό του..Μπορεί να χάσεις και κάποια αρχεία επιπλέον που δεν είχαν σωθεί κλπ..Γενικά αν υπάρχει πολύς “παρθένος” χώρος στον δίσκο μπορούμε με ασφάλεια να κάνουμε κανονικά shutdown..Αλλά αυτό είναι -κατα περίπτωση- στην κρίση σου να αποφασίσεις…
Έκανα κατόπιν boot με το cd της suse και διάλεξα resque system..
Αυτό με έβγαλε στην κονσόλα..
Στο σύστημα μου είχα και έναν δεύτερο δίσκο που τον χρησιμοποιώ για πειράματα και είχε αρκετό χώρο…
έφτιαξα δύο folders κάτω απο το mnt..
cd mnt..
mkdir hdb1
mkdir hdb3
έκανα μετά mount τα partitions
mount /dev/hdb1 hdb1
mount /dev/hdb3 hdb3
cd hdb1
cp -r /mnt/hdb3
Κανονικά θα έπρεπε να κάνω raw copy το partition του hdb1 για να είναι σίγουρο ότι δεν θα διαλύσω τίποτα (πχ dd if=/dev/hdb1 of=/dev/hdb3 bs=512b….) αλλά εγώ το ριψοκινδύνευσα 😉
Αφού βεβαιώθηκα ότι όλα είχανε πλέον γίνει copy σωστά έκανα unmount..
umount hdb1
umount hdb3
και κατόπιν..
reiserfsck -S –rebuild-tree /dev/hdb1
Με αυτόν τον τρόπο γίνεται το εξής..Το reiserfsck ψάχνει όλο τον δίσκο και βρίσκει που υπάρχουν δεσμοί και τους ξαναγράφει στο filesystem..Ότι δεν καταφέρει να βρεί και να βάλει στην θέση του (πχ διαγραμμένα αρχεία 🙂 )του δίνει έναν αύξοντα αριθμό και το τοποθετεί στο folder lost&found …
Όταν τελείωσε η διαδικασία έκανα ξανα mount τα partition και διαπίστωσα ότι είχαν συμβεί 3 περίεργα φαινόμενα…
Κάποια απο τα αρχεία (όχι από τα διεγραμμένα) αντικαταστάθηκαν με παλαιότερες εκδόσεις τους!!
Εμφανίστικαν αρχεία στο lost&found από το 1999!
φτιάχτηκε ένα ολόκληρο tree με όλα τα καλά (bin var home κλπ) στον δίσκο!!!!!!!!!!!!!!!!!!!!!!!
Αυτό το τελευταίο ήταν που με τρέλανε εντελώς!!!!!
Ο δίσκος hdb1 στον όποιο έκανα το recovery δεν περιείχε ποτε τίποτα άλλο απο το home directory!! Όποτε με κανέναν τρόπο δεν θα έπρεπε να είχαν εμφανιστεί όλα αυτά τα directory’s και τα αρχεία που περιείχαν!!..
Αυτό που είχε συμβεί ήταν το εξής…
Ανάμεσα στα αρχεία υπήρχε και ένα Image του Vmware από μια διανομή linux που δοκιμάζω να φτιάξω (etLinux) και το reiserfsck δεν μπόρεσε προφανώς να το ξεχωρίσει ως κανονικό αρχείο και έτσι έφτιαξε όλο το tree με το περιεχόμενο του μέσα στον δίσκο! :))))
Αφού ξεπέρασα την έκπληξη μου άρχισα να ψάχνω μέσα στα χιλιάδες αρχεία που υπήρχαν στο lost&found και μετά από λίγη ώρα κατάφερα να βρω τα αρχεία που είχα διαγράψει.
Τα μετέφερα λοιπόν στο άλλο partition (hdb3) και κατόπιν έσβησα όλο το hdb1 και έκανα copy πάλι πίσω τα αρχεία μου από το hdb3…
ΠΡΟΣΟΧΗ!!!
Τα παραπάνω ισχύουν μόνο για την περίπτωση που περιέγραψα και για την σύνθεση του δικού μου PC . Μην επιχειρήσεις τίποτα από τα παραπάνω αν δεν είσαι σίγουρος για το τι κανείς μιας και υπάρχει περίπτωση να προκαλέσεις μεγαλύτερη ζημιά στο σύστημα σου…
Αν έχεις κάποιον έμπειρο φίλο ζήτα την βοήθεια του η αν θες μπορείς να με πληρώσεις (παίρνω πάρα πολλά :Ρ) για να σου κάνω εγώ την επαναφορά .. χιχιχι