blog posts

Linux’ta silinmiş dosya kurtarma: 10 ana veri kurtarma yöntemi

Birçoğumuz genellikle Linux’ta bir dosyayı yanlışlıkla sildiğimiz ve daha sonra onu sildiğimize ve çöp kutusunda bulamadığımıza pişman olduğumuz bir sorunla karşı karşıya kalırız. Peki ya onları kurtarabilirsek? Bu yazımızda Linux’ta silinen bir dosyanın nasıl kurtarılacağından bahsedeceğiz.

lsof komutu, En başta gelen araç, ext3grep ve ext4magic aracı, extundelete ve… Linux’ta silinen dosyaları kurtarmak için kullanabileceğiniz araç ve çözümler arasındadır.

Sistemimizden bir dosyayı sildiğimizde, silinen dosyanın alanı diskteki başka bir dosya tarafından üzerine yazılana kadar silme işlemi gerçekleşmez. Ancak silinen dosyaları geri yükleme yöntemlerine aşina olmak, bir kaza durumunda dosyalarınızı kurtarmanıza yardımcı olacaktır.

Elbette sunucu üzerinde Linux işletim sistemini kullandığınızda , bu durumda düzenli olarak sahip olduğunuz yedeklemeler, önemli dosyaların silinmesi gibi acı olayların önüne büyük ölçüde geçebilir. Ancak dikkatli olmak bilgeliğin bir koşuludur (eğer henüz bir Linux sunucunuz yoksa, Linux sanal sunucu satın alma sayfasını ziyaret edebilirsiniz).

Aşağıda, Linux’ta silinmiş bir dosyayı kurtarmanın en iyi yöntemlerini açıklıyoruz. Yani eğer Linux kullanıcısıysanız bu yazı sizin için gece ekmeğinden daha zorunludur.

İçindekiler

Sabit sürücü verileri neden kayboluyor?

Genel olarak veri kaybı iki nedenden dolayı meydana gelebilir: donanım nedenleri ve yazılım nedenleri. Verilerimizi kaybettiğimizde onu kurtarmamız gerekir. Aşağıdaki nedenlere dikkat edin:

  1. Sabit sürücülerde arıza veya sabit sürücüde arıza, iş mili motoru arızası, elektrik çarpması ve dalgalanmalar, PCB kartı kırılması, RAID kontrol arızası veya RAID dizilerinde veri kaybı gibi donanım sorunlarının varlığı.
  2. Ürün yazılımında veya sistem hizmetinin bir kısmında sorun olması, işletim sisteminde arıza olması, veritabanı dosyalarında sorun olması, sanal makine dosyalarında arıza olması, dosyaların virüs ve kötü amaçlı yazılımlarla kirlenmesi gibi yazılım sorunlarının varlığı , siber saldırılar, Bölümlere erişilememesi, sabit disk kapasitesinin gösterilmemesi ve bölüm tablosu bozulması.

Hafıza kartını çıkarın

Önemli dosyaları sildiğimizi fark ettikten hemen sonra hafıza kartını çıkarmak en iyi seçenektir, böylece silinen dosyaların veri bloklarının üzerine başka veriler yazılmaz.

Öncelikle sistemi kapatın ve canlı bir CD/USB’den önyükleme yaparak kurtarma işlemini gerçekleştirin. Sildiğiniz dosyayı içeren bölümü bulun, örneğin – /dev/sda1 Dosyayı geri yükleyin (yeterli alana sahip olduğunuzdan emin olun)

lsof komutu

Bazen kullanımda olan bir dosya yanlışlıkla silinir, bu durumlarda lsof komutu o dosyayı kurtarmak için hayat kurtaran bir komut olarak faydalı olabilir.

Dosyayı açık tutan program tarafından kapatılmadan önce lsof komutu kullanılarak dosyanın bir kopyası oluşturulur. Bunun nedeni inode’un hala aktif olmasıdır, dolayısıyla veri blokları program onu ​​kapatana kadar diskte kalmaya devam eder.

Adım 1: /tmp dizininde bir test dosyası oluşturun.

touch /tmp/test

 

Adım 2: Dosyayı açık tutmak için bir şeyler çalıştırın:

tail -f /tmp/test &

 

Not: Buradaki sayı 8561’dir ancak mutlaka sizin için geçerli değildir ve farklı olabilir ve bu nedenle ona karşılık gelen komutları kullanmanızı öneririz.

3. Adım: Açık kaynak sürecinin onay sürecini listeleyin

ps -ef | grep 8561 | grep -v grep 

Adım 4: Dosyaları yalnızca manuel olarak silin ve dosyayı listelemeye çalışın. Silindiğinde bir hata mesajı alacaksınız.

$ rm /tmp/test    $ ls -l /tmp/test 

Artık dosyanın tamamen silindiğinden eminiz. Daha sonra lsof komutu yardımıyla onu kurtarmaya çalışacağız.

Adım 5: İşlemin açık dosya tanımlayıcısını görüntülemek için lsof komutunu kullanın

$lsof | grep -i test

Dosyayı açık tutan işlemin kimlik numarası (PID) ikinci sütunda görüntülenir.

Adım 6: Şimdi /proc dizininde açık dosya işaretçisini bulmamız gerekiyor.

$ls -l /proc/8561/fd/3

 

Adım 7: Artık açık dosya (silinmiş ancak başka bir işlem tarafından açılmıştır) orijinal konumuna, yani /tmp alt klasörüne kopyalanabilir. Bundan sonra orijinal adıyla yeniden adlandırabilirsiniz.

Daha basit bir ifadeyle, bu noktada, başka bir işlem tarafından kullanılan ve yanlışlıkla silinen bir dosya, örneğin /tmp alt klasöründeki orijinal konumuna geri yüklenebilecektir. Daha sonra, daha önce olduğu gibi, orijinal adını da yeniden adlandırabileceksiniz.

$ cp /proc/8561/fd/3 /tmp/  $mv /tmp/3 /tmp/test  $ ls -l /tmp/test

Böylece artık sahip olamayacağınızı düşündüğünüz bir dosyayı kurtardınız.

Her şeyden önce (yasal bir araç)

Her şeyden önce, Kali Linux’ta neredeyse varsayılan olarak yüklenen meşru bir yardımcı programdır, ancak orada değilse, komut satırından yükleyebilirsiniz. En önemli araç, silinen dosyaları sabit diskten, hafıza kartından, flash sürücüden vb. kurtarmak için kullanılır.

Bu araç, verileri kurtarmak için Dosya Oyma adı verilen bir işlemi kullanır.

Silinen bir görüntüyü geri yüklemek için aşağıdaki komutu kullanın:

sudo foremost -v -q -t png -i /dev/sda1 -o ~/test

 

Burada /dev/sda1, /boot’un bulunduğu yedekleme bölümüdür.

/home/tithi/Downloads/gg ise kurtarılan dosyanın bulunacağı ayrı bir diskteki dizindir. Kurtarılan dosyaları, dosyaların silindiği sürücüye geri yüklememek en iyisidir; bu, kurtarma işleminin başarısız olmasına neden olabilir. Çoğu zaman birden fazla dosya birlikte geri yüklenir ve geri yüklenen dosyanın adı orijinal dosya adıyla aynı olmaz.

ext3grep – bir ext3 dosya kurtarma aracı

Ext3 dosya sistemlerinin verileri kurtarması için geliştirilmiş bir komut satırı aracıdır. Yalnızca iki komutla, bu araçla kurtarılan silinmiş dosyaları kurtarabilirsiniz.

ext3grep --dump-name <drive>
ext3grep --restore-all <drive>

#Restored data is stored in this folder
cd RESTORED_FILES

ext4magic – ext4 için en iyi Linux veri kurtarma araçlarından biri

Listedeki diğerleri gibi bir komut satırı aracıdır ve çoğu Linux dağıtımının depolarında mevcuttur. ext4magic’in bazı özellikleri şunlardır:

  • Tekrar tekrar silinen dosya sistemlerinin tamamını kurtarabilir
  • Yanlışlıkla üzerine yazılan dosyaları kurtarın
  • Yanlışlıkla üzerine yazılan bir sabit diskin birincil sektörlerinin kurtarılması

Bu araç, yanlışlıkla silinen veya yanlışlıkla üzerine yazılan dosyaları ve dosya sistemlerini kurtarma yeteneğine sahiptir. Örneğin, yanlışlıkla bir dosya sisteminin tamamını sildiyseniz ext4magic verileri kurtarmanıza yardımcı olabilir. Ayrıca, yanlışlıkla bir dosyanın üzerine yazdıysanız, araç o dosyayı kurtarabilir ve yanlışlıkla bir sabit sürücünün birincil sektörlerinin üzerine yazdıysanız, bu araç verileri kurtarmanıza yardımcı olabilir.

Linux’ta silinmiş bir bölümü kurtarmak için TestDisk’i kullanma

TestDisk, kalıcı olarak silinen dosyaları veya bölümleri etkili bir şekilde kurtarabilen açık kaynaklı bir veri kurtarma programıdır. Bu uygulama birçok kullanışlı özellikle doludur ve arayüzünün kullanımı kolaydır. Aşağıdaki komutları kullanarak TestDisk’i Linux’a yükleyebilirsiniz:

# Ubuntu and Debian
sudo apt install testdisk


# RHEL and CentOS
sudo yum install epel-release
sudo yum install testdisk


# Arch Linux
sudo pacman -S testdisk

Kurulumdan sonra bir terminal açıp testdisk komutunu yazarak TestDisk’i başlatın.

sudo testdisk

Kendinizi TestDisk interaktif ortamında bulacaksınız. Gezinmek için klavyenizdeki ok tuşlarını kullanın ve seçenekleri belirlemek için Enter tuşuna basın. İlk seçenek bir rapor dosyası oluşturmak için kullanılabilir. Devam edin ve bir tane yaratın.

Açılan sonraki ekranda sisteme bağlı depolama ortamlarının bir listesi görüntülenecektir. Silinen dosyaları içeren cihazı seçmelisiniz. Burada bu kılavuz için /dev/sdb medyası kullanılıyor ve medyanızı seçmeniz ve ardından Devam düğmesine basmanız gerekiyor.

  Linux’ta cat komutunun nasıl kullanılacağını yaygın olarak kullanılan örneklerle öğrenmek için tıklayın

Bir sonraki ekranda diskiniz için bir bölüm türü seçmeniz istenir. Sürücünüz için doğru türü seçin. TestDisk’in doğru türü otomatik olarak algılamaya çalışacağını unutmayın. Bu nedenle emin değilseniz TestDisk tarafından tespit edilen bölüm türüyle devam edin.

Bir sonraki sayfada birkaç seçenek göreceksiniz. “ Analiz ” seçeneği kayıp sektörlerin kurtarılması için kullanışlıdır. Ancak silinen dosyaları kurtarmak için “ Gelişmiş ” seçeneğini kullanacağız .

Daha sonra, seçtiğiniz cihazdaki tüm bölümlerin bir listesini göreceksiniz. Silinen verilerinizi içeren bölümü seçin ve alt menüden Silmeyi Geri Al seçeneğini seçin.

TestDisk, bu bölümdeki silinmiş dosyalar için MFT girişlerini tarayacak ve bunları burada listeleyecektir. Bu sayfada gösterilen resim.jpg dosyasını arıyoruz.

İki nokta üst üste ( : ) kullanarak belirli dosyaları ve . Geri yüklenecek dosyaları seçtikten sonra kopyalamak için C tuşuna basın.

Bir geri yükleme hedefi seçmeniz istenecektir. Oraya gidin ve dosyayı kaydetmek için C tuşuna basın.

PhotoRec kullanarak Linux’ta silinen dosyaları kurtarın

PhotoRec, başlangıçta Linux’ta silinen fotoğrafları kurtarmak için oluşturulmuş, ancak tam teşekküllü bir programa dönüşmüş olan TestDisk’in yapımcılarının bir başka güçlü programıdır. Silinen bir sürücüyü kurtarmak için PhotoRec’i kullanabilirsiniz.

TestDisk ve PhotoRec arasındaki fark, PhotoRec’in onarılamaz şekilde hasar görmüş disklerden bile dosyaları kurtarabilmesidir. Bu program silinen dosyaları tespit etmek için dosya imzalarını kullanır, bu da onu çok güçlü kılar. Ancak PhotoRec tarafından kurtarılan dosyalar orijinal adlarını korumaz.

PhotoRec’i, TestDisk’i kurmak için kullanılan komutları kullanarak çeşitli Linux dağıtımlarına kurabilirsiniz. Bu nedenle, TestDisk’i zaten yüklediyseniz PhotoRec’i yeniden yüklemenize gerek yoktur. Henüz TestDisk’i kurmadıysanız yukarıdaki bölümü kontrol edin ve testdisk paketini yükleyin.

sudo photorec

Bu komut PhotoRec’i başlatır ve sizi başlat menüsüne götürür. Tasarımı TestDisk’e benzer ve program içindeki hareket de benzerdir. Disk ortamını seçmeniz istenecektir. Uygun olanı seçin ve Devam düğmesine basın.

Yapmanız gereken bir sonraki şey kaynak bölümünü seçmektir. Uygun bölümü seçin ve alt menüden Dosya Seç’i seçin.

Burada silmek istediğiniz dosya türlerini belirleyebilirsiniz. PhotoRec varsayılan olarak tüm dosya türlerini seçer. “s” düğmesini kullanarak tüm dosyaları devre dışı bırakabilir ve “x” düğmesini kullanarak belirli bir türü seçebilirsiniz. Resim dosyamızı almak için jpg formatını seçtik.

Şimdi q ile bir adım geri gidin ve Linux’ta dosya kurtarmayı başlatmak için Ara seçeneğini seçin.

Bu adımda dosya sisteminin türünü seçmelisiniz. Kaynak bölümü ext3/ext4 değilse Diğer seçeneğini belirleyebilirsiniz.

Şimdi seçilen dosyaları bölümün tamamında mı yoksa yalnızca boş alanda mı arayacağınızı belirlemeniz gerekiyor. Arama sürecini daha hızlı hale getirmek için boş alan seçeneğini seçiyoruz.

Bir sonraki adım, hedef rotanın seçilmesini gerektirir. Dosyaları taradığınız bölüme kaydetmediğinizden emin olun. İstediğiniz konuma gitmek için ok tuşlarını kullanın ve kaydetmek için C tuşuna basın.

PhotoRec şimdi boş sektörleri tarayacak ve kurtarılan dosyaları seçilen hedefe kaydedecektir. Program, kurtarılan dosyaları “recup_dir” adlı bir klasörde saklar.

Extundelete kullanarak Linux’ta silinen dosyaları kurtarın

extundelete, Linux’ta silinmiş bir bölümü kurtarmak için kullanılabilir. extundelete, ext3/ext4 dosya sisteminden silinen dosyaları kurtarabilen bir veri kurtarma programıdır. Bu dosya sistemleri Ubuntu gibi popüler Linux dağıtımları tarafından kullanılmaktadır. Extundelete’yi yüklemek için aşağıdaki komutlardan birini kullanabilirsiniz:

# Ubuntu and Debian sudo apt <strong>install</strong> extundelete # RHEL and CentOS sudo yum <strong>install</strong> extundelete # Arch Linux sudo yay -S extundelete

Kurulumdan sonra extundelete programını kullanarak silinen dosyaları Linux sisteminizden kurtarabilirsiniz. Belirli bir dosyayı hızlı bir şekilde geri yüklemek için aşağıdaki komutu kullanın. Dosyanın yolunun bölümün köküne göre olduğunu unutmayın.

Kurulumdan sonra extundelete kullanarak silinen dosyaları Linux sisteminizden kurtarabilirsiniz. Belirli bir dosyayı daha hızlı kurtarmak için aşağıdaki komutu kullanın. Lütfen dosyanın yolunun bölümün ana dizinine göre olduğunu unutmayın.

sudo extundelete --restore-file picture.jpg /dev/sdb1

Aşağıdaki komut, /dev/sdb1 bölümündeki tüm dosyaları kurtarmanıza yardımcı olacaktır. Kaynağınıza göre bölümü yeniden adlandırmaya dikkat edin.

sudo extundelete --restore-all /dev/sdb1

Kurtarılan dosyaları belirli bir dizine kaydetmek istiyorsanız bunu -o seçeneğini kullanarak belirtin.

sudo extundelete -o ~/recovery --restore-all /dev/sdb1

Varsayılan olarak extundelete, kurtarılan dosyaları RECOVERED_FILES/ alt dizininde saklar.

R-Linux kullanarak Linux’ta silinen dosyaları kurtarın

R-Linux kullanarak Linux’ta silinen dosyaları kurtarabilirsiniz. R-Linux, Linux işletim sistemi için ücretsiz ancak açık kaynak olmayan bir GUI veri kurtarma aracıdır. Bu araç, ext2/ext3/ext4 dosya sistemlerinde silinen dosyaları tarayabilir ve kurtarabilir. R-Linux’un ikili sürümünü edinmek için, bunu kendi dağıtımınıza uygun R-Tools Technology web sitesinden indirebilirsiniz.

R-Linux’u indirdikten sonra paket yöneticinizi kullanarak kurun. Kurulduktan sonra uygulamalar menünüzü kullanarak yazılımı açın. Sudo şifresi istendiğinde şifrenizi girin.

 

Şimdi silinen dosyaları içeren kaynak bölümünü seçin ve onu GUI aracılığıyla tarayın. İhtiyaçlarınıza göre farklı tarama yöntemlerini kullanabilirsiniz.

 

Tarama bitene ve silinen dosyaların listesi görüntülenene kadar bir süre bekleyin. Bu listeden ihtiyacınız olan öğeleri seçin ve üst menüden geri yükleyin.

Silinen dosyaları çöp kutusundan kurtarma

Şansınız yeterliyse ve silinen dosyanız çöp kutusundaysa birkaç tıklamayla dosyanızı yine de kurtarabilirsiniz.

  1. Masaüstünüzde boş bir alana sağ tıklayın ve dosya yöneticinizi açmak için içerik menüsünden Masaüstünü Dosyalarda Göster seçeneğini seçin.

 

  1. Çöp kutusuna erişmek için sol kenar çubuğundan Çöp Kutusu’nu seçin. Dosyayı geri yüklemek ve orijinal konumuna geri döndürmek için dosyaya sağ tıklayın ve Çöp Kutusundan Geri Yükle’yi seçin.

 

  1. Son olarak, başarıyla kurtarılan dosyayı görmek için silinen dosyanın orijinal konumuna gidin.

 

son söz

Linux’taki dosyalar aşağıdaki nedenlerden dolayı kaybolabilir:

  • Yanlışlıkla silme: Kullanıcılar, özellikle silme işlemiyle ilgili komut satırı komutlarını kullanıyorlarsa dosyaları yanlışlıkla silebilir.
  • Sistem arızası: Donanım veya yazılım sorunları, örneğin hasarlı bir sabit sürücü veya başarısız bir işletim sistemi güncellemesi gibi dosyaların kaybolmasına neden olabilir. Linux’ta silinen dosyaları kurtarmak aşağıdaki nedenlerden dolayı çok önemlidir, çünkü:
  • Değerli bilgiler: Dosyalar resimler, multimedya dosyaları, iş belgeleri vb. dahil olmak üzere değerli bilgiler içerebilir.
  • Veri kurtarma: Önemli dosyaların kaybolması durumunda bunların kurtarılması, veri ve bilgilerin önceki durumuna geri döndürülmesi olanağını sağlayabilir.
  • Çalışmaya devam edebilme yeteneği: Silinen dosyaların kurtarılması, kullanıcıların çalışmalarına devam etmesine ve ihtiyaç duydukları dosyalara erişimi iyileştirmesine olanak tanır.

Bu nedenle Linux’ta silinen dosyaların kurtarılması çok önemlidir ve verilerin kurtarılmasına ve önemli bilgilerin kaybının önlenmesine yardımcı olur. Linux araçlarının silinen dosyaları ve sürücüleri kurtarma konusundaki güçlü yeteneği nedeniyle, eğer bir Linux kullanıcısıysanız, verilerinizi kaybetme konusunda endişelenmenize gerek yok. Doğru yöntemleri kullanarak verilerinizi kolaylıkla kurtarabilir ve bu sayede dosyalarınızın başına gelebilecek istenmeyen kazaların önüne geçebilirsiniz. Bu nedenle bu araçları güvenle kullanın ve Linux’taki bilgilerinize güvenin.