Linuxda Silinmiş/Silinen Dosyaları Kurtarmak-1
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. Burada insan hatasıyla silinen dosyaların iki yöntem ile kurtarma methodlarını anlatacağız
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. Burada insan hatasıyla silinen dosyaların iki yöntem ile kurtarma methodlarını anlatacağız.
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 görsel bir şekilde anlatmak gerekirse;
1111111111111
deneme.dosyam
gibi bir şekilde olan dosyanız silindiğinde aşağıdaki şekle dönüşür;
0000000000000
deneme.dosyam
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.
Evet, gerekli uyarıları da yaptıktan sonra artık verilerimizi kurtarma yolundan bahsedebiliriz
------------ *
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 rapor_2002_06_03.txt
# Hemen diskimizi umount edelim
$ umount /mnt/hdb
# Eğer değilseniz root olalım ilk önce ve sonra işleme devam edelim
$ su -
# debugfs ile diskimizi açalım
$ debugfs /dev/hdb
# Artık komut satırımızda debugfs: yazacaktır
# Neyse biz önce silinen dosyalarımızı bir listeyelim
$ debugfs: lsdel
# Burada 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
# İşte aradığım dosya
$ debugfs: lsdel
1 deleted inodes found. Inode Owner Mode Size Blocks Time deleted 25794 515 100644 1050 2/ 2 Mon Jan 13 20:06:43 2003
# Bizim için gerekli olan INODE numarası olacak
# Aşağıdaki komuttaki <> işaretlerini atlamamınızı öneririz
$ debugfs: dump -p <25794> /tmp/yeni
# İşimiz bitti. Artık çıkalım
$ debugfs: quit
Evet bitti. Derin bir soluk alabilirsiniz. Dosyamı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 için
$ mount -t ext2 /dev/hdb /mnt/hdb
$ ls /mnt/hdb/tmp/yeni
ve göreceksiniz ki dosya orda:-))



Digg
Post your comment