====== dd ======
Programa que permite copiar y convertir datos de archivos a bajo nivel.
Completar
===== Usos =====
==== Clonar dispositivo de almacenamiento (SSD, USB, SD...) ====
Primero debemos identificar correctamente el dispositivo que queremos clonar. Para ello, podemos usar ''fdisk'' o ''lsblk'':
sudo fdisk -l
sudo lsblk -f
Si queremos hacer una copia de ese dispositivo a un fichero llamado ''resultado.img'':
dd if=/dev/sdX of=resultado.img bs=1M status=progress conv=fsync
Donde:
* ''/dev/sdX'' es el dispositivo conectado por USB que queremos clonar
* ''bs=1M'': indica el tamaño del bloque (//block size//) que se **lee y escribe** de cada vez. Para este ejemplo, se hará la copia en bloques de 1 MiB. Si no le indicamos una unidad de medida, se hará en bytes (por defecto, 512 bytes). Un valor recomendable hoy en día suele ser ''4M''.
* ''resultado.img'' es la imagen con el clon del dispositivo USB
* ''status=progress'': informa de la operación de copia
* ''conv=fsync'': sincroniza todos los datos escritos antes de que ''dd'' finalice, es decir, vacía el búffer usado como caché (en memoria RAM) obligando al sistema operativo a que escriba definitivamente los datos y así confirmar que los datos están físicamente almacenados. Esto evita que se pierdan datos si no expulsamos correctamente el dispositivo o hay algún corte de energía.
Es necesario desmontar todas las particiones que tenga el dispositivo si lo vamos a clonar entero. Si está identificado como ''/dev/sdb'', podríamos desmontar todo con:
sudo umount /dev/sdb*
==== Eliminación de datos ====
dd if=/dev/urandom of=/
Con el comando anterior, se estarán escribiendo datos aleatorios en el archivo, disco o dispositivo que queremos "borrar".
''urandom'' es un generador de números aleatorios.
==== Creación de unidades USB ====
Útil cuando queremos grabar una imagen de instalación de un sistema operativo en un dispositivo USB:
dd if=/ of=/dev/sdX
Donde:
* ''/dev/sdX'' es el dispositivo USB en el que se grabará la imagen ''ruta_imagen.iso''.