silinen dosyayı kurtarmak linux Uyeoll10

Join the forum, it's quick and easy

silinen dosyayı kurtarmak linux Uyeoll10

Would you like to react to this message? Create an account in a few clicks or log in to continue.

    silinen dosyayı kurtarmak linux

    Theseus
    Theseus
    Üsteğmen
    Üsteğmen


    Nereden : ..:.T.C.:..
    Üyelik : 10/03/10
    Yaş : 32
    Mesaj Sayısı : 1514
    Rep Gücü : 18659
    Başarı Sistemi : 2
    Doğum tarihi : 23/02/92
    Uyarılar : Uyarı Yok
    Yorum : Merlin

    silinen dosyayı kurtarmak linux Empty silinen dosyayı kurtarmak linux

    Mesaj tarafından Theseus Çarş. Haz. 02, 2010 4:40 pm

    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 dayanaraksilinen dosyayı kurtarmak linux Virgs 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 remountsilinen dosyayı kurtarmak linux Virgsro /dev/hdXX )

    3) Eğer silinen dosya o an çalışan Harddisk'inizden başka bir yerde isesilinen dosyayı kurtarmak linux Virgs o sürücüye kesinlik ile birşey yazmayın/yazdırmayın.

    Evetsilinen dosyayı kurtarmak linux Virgs 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 silinen dosyayı kurtarmak linux C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001
    # 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 olansilinen dosyayı kurtarmak linux Virgs sizin sildiğiniz dosya ile bilgileri uyuşanı bulmaktır
    # Karşılaştırma için Boyutsilinen dosyayı kurtarmak linux Virgs Modsilinen dosyayı kurtarmak linux Virgs Tarih gibi bilgileri kullanabilirsiniz
    # İşte aradığım dosya silinen dosyayı kurtarmak linux C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001
    $ 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 silinen dosyayı kurtarmak linux C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001

    $ 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 sebebisilinen dosyayı kurtarmak linux Virgs 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ısilinen dosyayı kurtarmak linux Virgs yani bir program tarafından işleme tabii tutulan dosyaları listemelesidir. Birçok son Linux dağıtımlarısilinen dosyayı kurtarmak linux Virgs 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 çekerimsilinen dosyayı kurtarmak linux Virgs hala film açıkken devam ediyoruz!
    # Ve yine faciasilinen dosyayı kurtarmak linux Virgs 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 3silinen dosyayı kurtarmak linux Virgs7 2545962 26708 /film/arkadasim_ist.avi (deleted)

    # Here it's.(=Yani bulduk türkçesi silinen dosyayı kurtarmak linux C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001)
    # 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 silinen dosyayı kurtarmak linux C:%5CDOCUME%7E1%5Cgurhaj%5CLOCALS%7E1%5CTemp%5Cmso html1%5C01%5Cclip_image001

    Hemen biraz bilgi verelim: /proc dizininin yapısı diğer dizinlere benzemez(/usrsilinen dosyayı kurtarmak linux Virgs /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ızsilinen dosyayı kurtarmak linux Virgs buradaki dosyalar sizin asıl dosyanıza bağlı haldedir. Asıl unutmamanız gereken önemli ayrıntısilinen dosyayı kurtarmak linux Virgs bu işlemler program hala açık ise geçerlidir. Program dosyayı kullandığı sürecesilinen dosyayı kurtarmak linux Virgs dosyayı kurtarabilirsiniz. Program kapatıldığı anda süreçde bitmiş olacağı için dosyaya ulaşmakta imkansız olacaktır

      Forum Saati Paz Mayıs 19, 2024 9:05 am