Una delle più antiche applicazioni del mondo Linux, “dd” è ancora oggi utilissima nello svolgere alcune funzioni da linea di comando che su altri sistemi richiedono l’uso di potenti strumenti commerciali:
Con estrema semplicità “dd” può clonare interi dischi anche se la sorgente e la destinazione sono dispositivi eterogenei (un disco interno, un disco esterno, un cd o dvd, una chiave USB, ecc..)
E’ doveroso avvertire che un uso errato di “dd” può causare la perdita accidentale dei dati. “dd” fondamentalmente copia i dati da una sorgente ad una destinazione. Confondere questi due argomenti a linea di comando potrebbe portare a sovrascrivere i dati sorgenti con quelli destinatari.
L’indicativo della sorgente è if (input file) mentre la destinazione è of (output file) che generalmente vengono definiti come da esempio:
if=/dev/cdromif=/dev/sda4
ad indicare un cdrom o la partizione del tuo hard disk.
Esempi di destinazione possono essere:
of=/home/ubuntulinux/cdbackup.isoof=/home/ubuntulinux/hddbackup.img
A “dd” possono essere passati anche molti altri parametri come ad esempio “bs” per definire il block size dei file dei file, che deve essere un multiplo di 512 ( 512mb, 1024mb e 2048mb sono i più utilizzati).
Questo è un classico esempio di utilizzo di “dd” che ti permette di fare il backup di una partizione del tuo hard disk su una partizione o su un disco esterno:
sudo dd if=/dev/sda1 of=/dev/sdc1 bs=4096 conv=noerror,sync
In questo caso abbiamo utilizzato un blocksize di 4096 (per permettere un backup più veloce) e l’opzione noerror per indicare a “dd” di continuare la copia anche in caso di settori illeggibili che potrebbero generare errori.
Se vuoi salvare il contenuto su un file immagine puoi invece lanciare il comando:
sudo dd if=/dev/sda1 of=/dev/sdc1/hddbackup.img
Questo esempio è estremamente simile al precedente con l’unica differenza che la sorgente è un drive cdrom fisico.
sudo dd if=/dev/cdrom of=/home/ubuntulinux/cdbackup.iso bs=2048 conv=sync
L’opzione “conv=sync” indica a “dd” di sicronizzare l’input e l’output che assicura una protezione contro la perdita di dati. A seconda della velocità del tuo drive, il processo potrebbere richiedere alcuni minuti e al termine avrai un’immagine ISO che potrai anche masterizzare.
Questo processo ti permetterà di installare all’interno di una penna USB un sistema avviabile dal boot della macchina a partire da un file immagine, ad esempio di una distribuzione Linux scaricata da internet.
Dopo aver connesso la penna USB al computer accertati di averla smontata e digita il comando di seguito per trasformarla in un drive avviabile al boot:
sudo dd if=/home/ubuntulinux/Scrivania/ubuntu.iso of=/dev/sdc
In questo caso a differenza degli altri esempi non hai indicato una partizione come destinazione ma tutto il disco fisico (infatti non c’è il numero dopo /dev/sdc).