Linux DD Command

Linux ortamında çok ihtiyaç duyacağınız bir durumdur yedekleme.. Özellikle bir partition ya da hardisk yedekliyorsanız. Linuxta bu iş bir komut ile oldukça basit aslında. dd komutu ile ilgili açıklamalara buradan ve buradan ulaşabilirsiniz.

dd komutu if ve of olmak üzere iki temel parametre alır. Diğer parametreler ise isteğe bağlıdır.

Örneğin cd kalıbı oluşturmak için

dd if=/dev/cdrom of=cd_image.iso

komutu kullanılmaktadır. if bilgisi burada kaynak aygıt/partition u, of ise hedefi göstermektedir.

Linuxta bağlı olan depolama cihazlarına ilişkin bilgiyi

fdisk -l

komutu ile görebilirsiniz.

Başka bir örnekte ise hardiskimizin sdb1 partition u klonlamaya ve geri yüklemeye çalışalım. Bu işlemi yaparken aygıtın/partition ın mount olmamasına dikkat edilmelidir.

Önce bölümü klonlayalım.

dd if=/dev/sdb1 of=sdb1.raw bs=32M

buradaki bs bilgisi saniyede kaç byte ile işlemin gerçekleştirileceğini belirtmektedir. Harddisk olduğu için değeri büyük seçtim, usb aygıtlarında 1M yeterli bir rakam olacaktır. Sistemin default bs değeri 512 byte tır (block size).

dd if=/dev/sdb2 of=sdb2.img bs=4096 conv=noerror

noerror ile hataların oluşması durumunda bile yedeklemenin devam etmesi gerektiği belirtilebilir.

Geri yükleme işini ise if ile of u yer değiştirerek yapıyoruz.

dd if=sdb1.raw of=/dev/sdb1

İstenilen büyüklükte dosya oluşturma:

dd if=/dev/zero of=sifir.raw bs=50 count=1
dd if=/dev/urandom of=random.raw bs=100 count=1

/dev/urandom, random olarak sayı üreten bir streamdir.
/dev/zero, sıfırlardan oluşan byte üreten bir streamdir.
bs bilgisi saniyede kaç byte bilginin yazılacağını belirtir.
count işlemin kaç kez yapılacağını belirtir. bs=100 ve count=2 olan bir komut icra edildiğinde 2*100 byte kadar bilgi dosyaya yazılmış olacak.

Disk wipe (Diskteki bilgilerin imhası)

Disk üzerinden dosya silme işlemi, format işlemi gibi birçok işlem aslında disk yüzeyinden veriyi silmez. Sadece dosyanın varlığına ilişkin kaydı siler(Ntfs ile ilgili geniş bilgiyi burada bulabilirsiniz.). Bir dosyayı disk üzerinden tamamen silmek için üzerine veri yazmanız gerekmektedir. Bu işlem yavaştır ve büyük diskler için uzun sürer. Bu nedenle silme işlemlerinin hızlı yapılması açısından bu yöntem tüm dosya sistemleri tarafından benimsenmiştir. Aşağıdaki örneklerde diskin tamamen silinmesi konusu ele alınacaktır.

dd if=/dev/zero of=/dev/sdx bs=1M conv=noerror

Bu kod ile saniyede 1M sıfır byte bilgisi (00) sda olarak nitelendirilen disk üzerine yazılacaktır. Disk üzerinde partitionların bir önemi yoktur, disk tamamen sıfır ile doldurulur.

Sıfır ile doldurmaya alternatif yöntem olarak random sayılarla da doldurabiliriz.

dd if=/dev/urandom of=/dev/sdx bs=1M conv=noerror

Not: sdx yerine sda, sdb yazılmalıdır.

Share