Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Prochaine révision Les deux révisions suivantes
dd [Le 16/05/2019, 18:39]
92.152.241.91 [Ecrire par dessus toute la place libre d'une partition]
dd [Le 15/05/2020, 08:31]
91.172.242.68 [Obtenir un nombre d'enregistrements lus]
Ligne 14: Ligne 14:
 Contrairement à la copie avec [[/​tutoriel/​console_commandes_de_base#​cp|la commande cp]] ou la copie avec [[archivage|la commande tar]], la copie avec dd permet de reproduire des zones de disque qui ne font pas partie d'un système de fichier : secteur de démarrage (le MBR), tables de partition, traces laissées sur le disque par des fichiers effacés etc. L'un de ses emplois les plus importants est donc //la création d'une copie de sauvegarde exacte de votre partition système et sa récupération//,​ par l'​entremise d'un //live-CD// ou //​live-DVD//​ en cas de pépin. Contrairement à la copie avec [[/​tutoriel/​console_commandes_de_base#​cp|la commande cp]] ou la copie avec [[archivage|la commande tar]], la copie avec dd permet de reproduire des zones de disque qui ne font pas partie d'un système de fichier : secteur de démarrage (le MBR), tables de partition, traces laissées sur le disque par des fichiers effacés etc. L'un de ses emplois les plus importants est donc //la création d'une copie de sauvegarde exacte de votre partition système et sa récupération//,​ par l'​entremise d'un //live-CD// ou //​live-DVD//​ en cas de pépin.
  
-D'​autres fonctions que la copie au sens strict, un peu «spéciales» ​mais parfois utiles, sont également rendues disponibles grâce à dd, comme vous le verrez dans les sections qui suivent : recherche dans les fichiers effacés, recherche dans la mémoire vive, création de disque virtuel etc...+D'​autres fonctions que la copie au sens strict, un peu « spéciales » mais parfois utiles, sont également rendues disponibles grâce à dd, comme vous le verrez dans les sections qui suivent : recherche dans les fichiers effacés, recherche dans la mémoire vive, création de disque virtuel etc...
  
  
Ligne 105: Ligne 105:
  
  
-Une solution alternative pour voir l'​avancement : ouvrer ​un second terminal et tapez:<​code>​pgrep -l '​^dd$'</​code> ​ qui vous produira une réponse du type "9999 dd". Ce code est le chiffre d'​identification du processus de copie qui vous permet de produire une seconde commande dans le terminal (en root):<​code>​kill -USR1 9999</​code>​ Cette seconde commande peut-être lancée de temps en temps pour patienter.+Une solution alternative pour voir l'​avancement : ouvrez ​un second terminal et tapez:<​code>​pgrep -l '​^dd$'</​code> ​ qui vous produira une réponse du type "9999 dd". Ce code est le chiffre d'​identification du processus de copie qui vous permet de produire une seconde commande dans le terminal (en root):<​code>​kill -USR1 9999</​code>​ Cette seconde commande peut-être lancée de temps en temps pour patienter.
 Alternative en mode root, pour voir la progression toutes les 30 secondes: <​code>​watch -n 30 kill -USR1 9999</​code></​note>​ Alternative en mode root, pour voir la progression toutes les 30 secondes: <​code>​watch -n 30 kill -USR1 9999</​code></​note>​
 Une autre solution est d'​effectuer la commande suivante : <​code>​dd if=/​dev/​source | pv -t -e -r -b | dd of=/​dev/​cible</​code>​ Cela requiert le binaire pv :<​code>​apt-get install pv</​code>​ Une autre solution est d'​effectuer la commande suivante : <​code>​dd if=/​dev/​source | pv -t -e -r -b | dd of=/​dev/​cible</​code>​ Cela requiert le binaire pv :<​code>​apt-get install pv</​code>​
Ligne 223: Ligne 223:
  
 <​code>​ <​code>​
-dd if=/dev/hdc of=/home/user/moncd.iso bs=2048 conv=notrunc+dd if=/dev/hdc of=/home/${USER}/moncd.iso bs=2048 conv=notrunc
 </​code>​ </​code>​
  
Ligne 232: Ligne 232:
 <​code>​ <​code>​
 mkdir /mnt/moncd mkdir /mnt/moncd
-mount -o loop /home/user/moncd.iso /mnt/moncd+mount -o loop /home/${USER}/moncd.iso /mnt/moncd
 </​code>​ </​code>​
  
Ligne 263: Ligne 263:
 ====Créer une clé USB bootable==== ====Créer une clé USB bootable====
  
-**Note : méthode ​réservé ​aux utilisateurs avancés et concentrés,​ une simple erreur de lettre dans le of=/ peut détruire toutes les données du système sur lequel vous travaillez.+**Note : méthode ​réservée ​aux utilisateurs avancés et concentrés,​ une simple erreur de lettre dans le of=/ peut détruire toutes les données du système sur lequel vous travaillez.
  
  
-Remarquez également que toutes les données présentes sur la clef seront perdues** ​+Remarquez également que toutes les données présentes sur la clé seront perdues.** 
  
 Faites un : Faites un :
Ligne 273: Ligne 273:
 </​code>​ </​code>​
  
-Connectez la clé dans le port USB, pour faites à nouveau un ''​sudo fdisk -l,''​ cela permet de repérer le point de montage de la partition.+Connectez la clé dans le port USB, puis faites à nouveau un ''​sudo fdisk -l'' ​cela permet de repérer le point de montage de la partition.
  
-Note : pour un point de montage du type ''/​dev/​sd**x**1''​ on utilisera ​''​**/​dev/​sdx**''​ dans la commande suivante.+Note : pour un point de montage du type ''/​dev/​sd**x**1''​on utilisera ''​**/​dev/​sdx**''​ dans la commande suivante.
  
-Ensuite ​taper :+Ensuite, tapez :
  
 <​code>​ <​code>​
Ligne 309: Ligne 309:
 Pour ma part je travaille sur plusieurs machines, mais sur celle que j'​utilise le plus j'ai deux disques durs SATA. Ils sont complètement identiques. Avant de faire quelque chose qui pourrait être dangereux, je démarre à partir d'un live-CD et je lance : Pour ma part je travaille sur plusieurs machines, mais sur celle que j'​utilise le plus j'ai deux disques durs SATA. Ils sont complètement identiques. Avant de faire quelque chose qui pourrait être dangereux, je démarre à partir d'un live-CD et je lance :
 <​code>​ <​code>​
-dd   ​if=/​dev/​sda ​   of=/dev/sdb ​bs=4096 ​ conv=notrunc,​noerror+dd   ​if=/​dev/​sda ​   of=/​dev/​sdb ​ bs=4096 ​ conv=notrunc,​noerror
 </​code>​ </​code>​
 et je copie ainsi mon lecteur système de travail courant sur le lecteur sdb. Si je casse mon installation sur sda,  je démarre avec le live CD et je fais : et je copie ainsi mon lecteur système de travail courant sur le lecteur sdb. Si je casse mon installation sur sda,  je démarre avec le live CD et je fais :
Ligne 452: Ligne 452:
 /dev/random génère autant de bits aléatoires que la réserve entropique peut en contenir. Cela produit des valeurs hautement aléatoires pour des clés de cryptographie. Si davantage d'​octets aléatoires sont nécessaires,​ le processus s'​arrête jusqu'​à ce que la réserve entropique soit remplie de nouveau (bouger la souris aide). /​dev/​urandom n'a pas cette restriction. Si l'​utilisateur exige plus de bits que de présents à ce moment dans la réserve entropique, ils sont produits en utilisant un générateur de nombres pseudo-aléatoires. /dev/random génère autant de bits aléatoires que la réserve entropique peut en contenir. Cela produit des valeurs hautement aléatoires pour des clés de cryptographie. Si davantage d'​octets aléatoires sont nécessaires,​ le processus s'​arrête jusqu'​à ce que la réserve entropique soit remplie de nouveau (bouger la souris aide). /​dev/​urandom n'a pas cette restriction. Si l'​utilisateur exige plus de bits que de présents à ce moment dans la réserve entropique, ils sont produits en utilisant un générateur de nombres pseudo-aléatoires.
  
-====Ecrire ​des données aléatoires par dessus un fichier avant de l'​effacer====+====Écrire ​des données aléatoires par dessus un fichier avant de l'​effacer====
  
 d'​abord,​ faire : d'​abord,​ faire :
Ligne 1031: Ligne 1031:
 dcfldd est 100% compatible avec dd, mais supporte quelques commandes supplémentaires et affiche par défaut la progression de l'​opération en cours. dcfldd est 100% compatible avec dd, mais supporte quelques commandes supplémentaires et affiche par défaut la progression de l'​opération en cours.
  
 +En cas d'​oubli au départ, on peut également afficher l'​état d'​avancement de la commande **dd** en tapant **Ctrl+t** à tout moment au cours de son éxecution. \\
 +Ce qui nous affiche
 +<​code>​load:​ 1.74  cmd: dd 1645 uninterruptible 0.03u 8.25s
 +149+0 records in
 +148+0 records out
 +620756992 bytes transferred in 704.620913 secs (880980 bytes/sec)
 +</​code>​
  
 ===== Comparatif de vitesse dd/pv vs dcfldd vs dc3dd ===== ===== Comparatif de vitesse dd/pv vs dcfldd vs dc3dd =====
  • dd.txt
  • Dernière modification: Le 15/12/2023, 15:50
  • par 41.208.170.106