[dd] Usos en sistemas GNU/Linux

Como todos sabemos, el querido dd [comando dd en sistemas GNU/Linux] es un muchachón genial a la hora de hacer isos, salvar/escribir MBR entre otras tareas. Pero ahora bien, ¿cómo hago un ISO con él?

Muy fácil, sólo ejecute en su terminal lo siguiente:

dd if=/dev/cdrom of=/home/Install/Isos/debian-7.0.0-i386-CD-1.iso

if, viene de “input file”, y of viene de “output file”, lo que obviamente leyendo en el man se le saca un poquito más de jugo a la naranja xD. En el if se especifica cual va a ser el dispositivo de entrada, y en el of se va a especificar la ruta de salida de nuestro archivo ISO. Nota importante, con cat se logra hacer lo mismo, lo que cat no lleva if ni of.

cat /dev/cdrom /home/Install/Isos/debian-7.0.0-i386-CD-1.iso

Entonces, ya habiendo conocido esto, vamos a ir adelantando. Otro de los usos, es para sodomizar los USB[¿Sodomizar?], si, ya se que suena feo, pero bueno, para los que compran memorias USB y son cardiácos a que los roben, es decir, que le vendan una USB de 4GB y sea de 128MB, lo cual molesta mucho, podemos hacer una prueba muy básica:

Test de escritura:
dd if=/dev/zero of=/dev/sdb1 bs=1M count=4096

Test de lectura:
dd if=/dev/sdb1 of=/dev/null bs=1M count=4096

Copiando/leyendo 4GB de ceros al USB, comprobando que de verdad es de 4GB. Si termina antes y no pone la cantidad prefijada, te han estafado xD.

Nota: revisa bien cual es el dispositivo USB que conectaste, porque puedes invitar al baile a tu HDD[SATA] y perder toda la info que en el tengas!!!

Otros usos variados…

Clonar un disco duro, para discos IDE:
dd if=/dev/hda of=/dev/hdb bs=1M

para discos SATA:
dd if=/dev/sda of=/dev/sdb bs=1M

Copiar el Master Boot Record:
dd if=/dev/hda of=mbr count=1 bs=512

Para restaurar el MBR:
dd if=mbr of=/dev/hda

Crear un archivo swap de 1GB:
dd if=/dev/zero of=/boot/swap_space bs=1M count=1024
mkswap /boot/swap_space
swapon /boot/swap_space

[Y para hackers xD, #ZOMG, hackers]

Hace algunos días estuve leyendo maneras de formatear nuestro HDD, sin dejar rastro en él de nada de lo que había anteriormente, ni siquiera usando alguna herramienta ultrasecreta de recuperamiento de información, y para intriga/satisfacción mía dd figuraba entre las alternativas posibles.

Pero ¿cómo puedo hacer esto? Fácil:

dd if=/dev/zero of=/dev/sda bs=1M

Llenando el disco duro con ceros. Con bs=1M, estamos diciendo que tanto la lectura como la escritura se haga en bloques de 1 megabyte. Tambien podemos usar /dev/random, pero demora un mundo, lo que lo hace merecedor de un último lugar en el test de borrado rápido :D.

Así el FBI no encontrará nada en tu HDD xD…

Referencias:

http://en.wikipedia.org/wiki/Dd_%28Unix%29
http://es.wikipedia.org/wiki//dev/zero

dd: clona y graba discos duros fácilmente