![]() |
![]() |
#1 |
ÇaKaL Üye
![]() Üyelik Tarihi: Sep 2005
Konum: Lothlorien
Yaş: 43
Mesajlar: 1,424
Teşekkür Etme: 145 Thanked 408 Times in 212 Posts
Üye No: 602
İtibar Gücü: 2030
Rep Puanı : 29938
Rep Derecesi :
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Cinsiyet :
|
![]() 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 gorsel bir sekilde 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 # Aman Tanrım biz ne yaptık böyle [IMG]file:///C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001.gif[/IMG] # Hemen diskimizi umount edelim $ umount /mnt/hdb # Eger 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 [IMG]file:///C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001.gif[/IMG] $ 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 icin [IMG]file:///C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001.gif[/IMG] $ mount -t ext2 /dev/hdb /mnt/hdb $ ls /mnt/hdb/tmp/yeni ve göreceksinizki dosya orda:-)) ----------------- * Lsof kullanmak | ----------------- lsof biraz daha farklı bir mantıktır. Size yine örnekle anlatırsak daha kolay anlaşılır sanırım. Diyelim özlediginiz bir arkadaşınız size xxxx.avi şeklinde bir dosya gönderdi. Özlemle vede mutlulukla bu filmi SEYREDIYORSUNUZ!. Bu ara komut satırına gectiniz ve yine olan oldu. Yanlışlıkla bu dosyayı sildiniz. Burada seyretmek kelimesini büyük harfler ile yazmamın sebebi, hala programın bu dosya ile bir işlem yapıyor olması. İşte böyle bir durumda bu dosyaları proc dizininden kurtarabiliriz. Lsof' u kullanmamızın sebebi ise bu programın açık olan dosyaları, yani bir program tarafından işleme tabii tutulan dosyaları listemelesidir. Birçok son Linux dağıtımları, artık bu programı öntanımlı olarak barındırıyorlar. Ha eğer sizde yoksa http://aixpdslib.seas.ucla.edu/packages/lsof.html adresinden bu programı indirebilirsiniz. Artık uygulamaya geçebiliriz sanırım: # Önce filmi izlemeye başlayalım $ mplayer arkadasim_ist.avi # Yine dikkatinizi çekerim, hala film açıkken devam ediyoruz! # Ve yine facia, yanlış bir komutla dosyayı silelim $ rm -f eski_filmler *.avi # aman tanrim ^ bu boşluk da neyin nesi? # Panige kapılmayalım ve devam edelim # Bir bakalım mplayer programının açtığ .avi dosyalarına $ lsof -c mplayer | grep avi mplayer 10153 bri 10r REG 3,7 2545962 26708 /film/arkadasim_ist.avi (deleted) # Here it's.(=Yani bulduk türkçesi [IMG]file:///C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001.gif[/IMG]) # Hemen tutun kaçırmayın.. Kopyalayalım dosyamızı $ cp /proc/10153/fd/10 /tmp/arkadasim_ist.avi Evet artık dosyamıza /tmp/arkadasim_ist.avi adıyla erişebiliriz. Yeniden merhaba diyebilirsiniz arkadasiniza [IMG]file:///C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001.gif[/IMG] Hemen biraz bilgi verelim: /proc dizininin yapısı diğer dizinlere benzemez(/usr, /home gibi...) Buradaki bilgileri direk olarak Linux çekirdeği sayesinde görürsünüz. Mesela; $ ls -F /proc/10153/fd 0 1 10 12 2 3 4 5 6 7 8 9 $ ls -l /proc/10153/fd/10 lr-x------ 1 armish lapis Jan 13 10:39 10 -> /tmp/arkadasim_ist.avi(deleted) Yani anlıyacağınız, buradaki dosyalar sizin asıl dosyanıza bağlı haldedir. Asıl unutmamanız gereken önemli ayrıntı, bu işlemler program hala açık ise geçerlidir. Program dosyayı kullandığı sürece, dosyayı kurtarabilirsiniz. Program kapatıldığı anda süreçde bitmiş olacağı için dosyaya ulaşmakta imkansız olacaktır.
__________________
Tanıdıktı yalnızlık oysa Haklısın belki yanımda Hazırdım bu kez mutluluğa Nerden çıktı şimdi bu ayrılık Öyle boş öyle boş ki bu dünya Güneşim sandım seni oysa Girdabın içinde yaşarken Yakamoz yakamoz çakar aklıma Susadım sana tek bir nefeste Yaşadım aşkımı bir heveste Gözümün önünde durma n''olur Yaşamak öyle zor ki bu bedende Hadi yoluna eyvallah Mutlu ol gülüm işallah Sen geçen günün ardından Bi başına kalma inşallah |
![]() |
![]() |
![]() |
#n/a |
Bot
![]()
Giriş Tarihi: Ocak 2005
Yaş: 0
Mesaj : 0
Üye No: 0
Rep Power: Çok
|
akincibest (05-23-2006) bu konu için teşekkür ettiler...
|
![]() ![]() ![]() |
Konuyu Görüntüleyen Aktif Kullanıcılar: 1 (0 üye ve 1 misafir) | |
|
|
![]() |
||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Dosyayı Partlara Ayırmak | styla45 | Acemiler Yeni Başlayanlar | 0 | 04-09-2010 06:03 PM |
750 MB Boyutlu Dosyayı 2 MB ye Düşürmek..! | bluekeys™ | Eskiler (Arşiv) | 22 | 12-22-2006 02:50 AM |
Silinen dosyaları adım adım kurtarmak! (resimli) | aLeMDaR | Eskiler (Arşiv) | 2 | 11-28-2006 08:23 PM |
Silinen dosyaları adım adım kurtarmak! (resimli) | Zafir_Host | Eskiler (Arşiv) | 3 | 09-20-2006 12:28 AM |
Linuxda Silinmiş/Silinen Dosyaları Kurtarmak | trecy | Eskiler (Arşiv) | 0 | 12-24-2005 02:47 PM |