Bilgisayarımıza çoğu zaman çok önemli dosyalarımızı teslim ediyoruz. Günler hatta aylarca uğraşıp hazırladığımız çalışmalar sabit sürücümüzde önemsiz bytelar olarak saklanmaktadırlar.
Bilgileri kaybetmek ise günümüz kullanıcılarının çoğu zaman başını ağrıtan bir terim olmaya başlıyor.
Ama öncelikle bilgilerin nasıl olup da kurtulduğu hakkında bilgi vermekte yarar var: Bir dosyayı sildiğinizde üzeri sıfırla kaplanır. Bu başka bir dosya yazılırken bu alanın boşmuş gibi algılanmasını sağlar. O zaman buraya bir dosya yazılmadığı sürece siz veriyi kurtarabilirsiniz.
Bunu daha gorsel bir sekilde anlatmak gerekirse;
1111111111111acikkaynak.odt dosyam
gibi bir şekilde olan dosyanız silindiğinde aşağıdaki şekle dönüşür;
0000000000000acikkaynak.odt
ve böylece bu alan başka bir bilginin yazılabilmesi için serbest bırakılmış olur.
Bu bilgilere dayanarak, size verebileceğimiz bir iki öneri var;
Normal bir sistemde kayıt yapan servisler sürekli açık bulunurlar ve buda belirli (çoğunlukla kısa) aralıklarla diskinize birşeyler yazıldığı anlamına gelir.
1) Yanlış bir işlem yaptığınızda olabildiğince hızlı bir şekilde
init 1 seviyesine geçin. (
init 1 komutunu vermeniz yeterli olacaktır)
2) Veya diskinizin
Read-Only olarak mount edilmesini sağlayın.
(
mount -o remount,ro /dev/hdXX )
3) Eğer silinen dosya o an çalışan Harddisk'inizden başka bir yerde ise, o sürücüye kesinlik ile birşey yazmayın yazdırmayın.
Debugfs yöntemi :Bu yöntemi mount
EDİLMEMİŞ disklerde kullanın veya kullanacağınız diski öncelikle
umount edin. Aşağıda verdiğim örnek mount edilmiş ek bir sabit sürücü (hdb) içinden dosya kurtarılması ile ilgilidir;
Hangi dizinde olduğumuza bir bakalım
$ pwd /mnt/hdb/Yanlışlıkla gerekli bir dosyamızı silelim
$ rm -f borçalacak.pdf
Hemen diskimizi
umount edelim
$ umount /mnt/hdbEger değilseniz
root olalım ilk önce ve sonra işleme devam edelim
$ su debugfs ile diskimizi açalım
$ debugfs /dev/hdbArtık komut satırımızda
debugfs yazacaktır
Önce silinen dosyalarımızı bir listeyelim
$ debugfs: lsdelBurada birçok satır karşınıza çıkabilir.
Önemli olan, sizin sildiğiniz dosya ile bilgileri uyuşanı bulmaktır
Karşılaştırma için Boyut, Mod, Tarih gibi bilgileri kullanabilirsiniz
debugfs: lsdel1 deleted inodes found. Inode Owner Mode Size Blocks Time deleted 23694 125 10584 1152 22/ 32 Mon Mar 22 07:48:00 2008Bizim için gerekli olan
INODE numarası olacak
$ debugfs: dump -p 23694 /tmp/silinendosyamİşimiz bitti. Artık çıkalım
$ debugfs: quitDosyamız aynı kullanıcı hakları ile birlikte silme işleminin gerçekleştiği sabit sürücünün /tmp dizini altında yeni adıyla saklandı. Emin olmak icin
$ mount -t ext3 /dev/hdb /mnt/hdb$ ls /mnt/hdb/tmp/silinendosyamBitti lsof ile nasıl dosya kurtarılabilir yazımızada baka bilirsiniz
http://acikkaynak.biz/lsof_komut_kullanilarak_nasil_dosya_kurtarilir-t307.0.html