Alors je ne sais pas si vous êtes nombreux à utiliser cette commande mais, personnellement elle m’est indispensable !
Je l’utilise pour les sauvegardes de partition ou de disque complet (Entendre tout type de stockage pas seulement les disques dur ;) ). Forcement, je l’utilise également pour les restaurations de mes backup :p ainsi que pour écrire des images bootables sur des clefs USB.
Exemples concrets
Je viens d’installer et de configurer un Raspberry pi. Le système est sur une carte micro-sd de 32 Go. Avant de mettre en service, je fais un petit backup.
dd if=/dev/sdb of=/media/backup/rpi.img
Cette ligne de commande va lire l’entièreté du périphérique sdb et écrire le contenu dans le fichier rpi.img
- dd : ben, c’est le nom de la commande :p
- if= : désigne l’entrée à lire (ici le périphérique /dev/sdb)
- of= : désigne la sortie à écrire (ici le fichier /media/backup/rpi.img)
En gros, la commande dd li un truc A (if=) et l’écrit sur B (of=).
Alors en vrai, je ne fais pas exactement ça mais, il faut poser les base ;). Le “souci” de faire comme ça, c’est que cela va créer un fichier de sauvegarde d’une taille égale au stockage d’entrer, ici 32 Go.
Pipe gzip !
En ligne de commande, il est possible de connecter les commandes les une aux autres. Du coup, il est très simple de demander a dd de lire le contenu d’un périphérique et de le donner a une autre commande comme gzip pour compresser directement la sauvegarde.
dd if=/dev/sdb | gzip > /media/backup/rip.img.gz
Le of= a disparu. Il est remplacé par le pipeline “|”, qui permet de spécifier que la sortie de la commande dd est l’entrée de la commande qui suis le pipeline, ici gzip. Puis on redirige “>” la sortie de gzip vers un fichier auquel on ajoute l’extension “gz” comme moyen mnémotechnique pour ce souvenir qu’il est compressé avec gzip.
Pour info, dans le test que j’ai fait, je suis passé d’une image non compressée d’environ 30 Go a une image compressée de 2.5 Go.
Restaurer, c’est pas pire !
gzip -d /media/backup/rpi.img.gz | dd of=/dev/sdb
Voilà, opération inverse. On demande à gzip de décompresser le backup et on “pipe” vers dd avec le périphérique de sortie désigné avec le paramètre of= et bim ;).
Et pour les clefs USB bootables ?
Alors là il faut une image préparée comme une linux mint ou tails. Puis en gros, comme la première commande de l’article.
dd if=image.iso of=/dev/sdb
Tips
Après l’exécution d’une commande dd il est de bon ton de lancer une commande sync. Cela permet de vérifier que toutes les écritures sont terminées.
Conclusion
Avec la commande dd on peut cloner n’importe quel fichier vers un autre fichier, que ce soient des fichiers classiques, périphériques de stockage, partition ou périphériques spéciaux. Par exemple avec /dev/urandom on peut écrire des données aléatoires sur un périphérique de stockage ce qui est une bonne pratique avant de s’en séparer ;) .
Une dernière chose, sans doute la plus importante ! Cette commande est dangereuse, il est facile de faire une erreur et d’écraser les données qu’on voulait conserver ! Il FAUT toujours prendre le temps de relire une ligne de commande qui intègre dd afin d’être certain de ne pas faire d’erreur irréversible !
Comments
August 28, 2021 19:41
@djez
Test de plume ... 1er article. :blobcat:
August 28, 2021 19:47
@Mr_Djez@x0r.be ActivityPub, c’est quand même assez génial !
August 30, 2021 14:15
1er commentaire
August 30, 2021 16:11
@mymy
Hey !!! Salut … J’espère que vous aller bien ;)