Dans cet article, je vais vous montrer quelques-uns des usages courants du jj commande sous Linux. J'utiliserai Debian 9 Stretch pour la démonstration. Mais cela devrait fonctionner sur n'importe quelle autre distribution Linux. Commençons.
Créer une clé USB amorçable avec dd :
Créer une clé USB amorçable de votre système d'exploitation préféré avec le jj la commande est très simple. Tout ce dont vous avez besoin est une clé USB et un ISO ou alors IMG image du système d'exploitation dont vous voulez faire une clé USB amorçable de.
Supposons que vous ayez téléchargé un ISO image d'Alpine Linux et le fichier est enregistré dans le ~/Téléchargements répertoire en tant que norme-alpin-3.8.0-x86_64.iso
Maintenant, vous pouvez répertorier tous les périphériques de stockage ou de blocage connectés avec la commande suivante :
$ sudo lsblkComme vous pouvez le voir, tous les périphériques de stockage ou de bloc connectés sont répertoriés. Ici, /dev/sdb est ma clé USB. Il a deux partitions, /dev/sdb1 et /dev/sdb2. Mais lorsque vous créez des lecteurs de démarrage USB, vous devez utiliser le /dev/sdb, l'ensemble du périphérique bloc, pas de partitions.
Créez maintenant une clé USB amorçable d'Alpine Linux avec la commande suivante :
$ sudo dd if=~/Téléchargements/alpine-standard-3.8.0-x86_64.iso de=/dev/sdb bs=1M
Ici, si=~/Téléchargements/alpine-standard-3.8.0-x86_64.iso l'option est utilisée pour dire jj que le fichier d'entrée est dans le chemin ~/Téléchargements/alpine-standard-3.8.0-x86_64.iso et de=/dev/sdb l'option est utilisée pour dire jj que le fichier de sortie est dans le chemin /dev/sdb. Le bs=1M raconte jj lire de ~/Téléchargements/alpine-standard-3.8.0-x86_64.iso et écris à /dev/sdb 1 Mo de données à la fois.
Comme vous pouvez le voir, le fichier ISO est copié sur le périphérique de bloc /dev/sdb. Vous pouvez maintenant l'utiliser pour installer Alpine Linux.
Cette commande est très destructrice. le jj la commande efface la table de partition et d'autres métadonnées, les drapeaux du périphérique de bloc. Donc tu dois faire attention.
Affichage de la barre de progression :
Par défaut, le jj la commande n'affiche aucune barre de progression. Mais tu peux dire jj pour le montrer avec le statut=progrès option.
Par exemple, pour copier des données de /dev/sda à /dev/sdb 1 Mo à la fois et affichez également la barre de progression, exécutez la commande suivante :
$ sudo dd if=/dev/sda of=/dev/sdb bs=1M status=progress
Comme vous pouvez le voir, la barre de progression s'affiche. Vous pouvez voir combien de données sont copiées et la vitesse à laquelle elles sont copiées.
Mesurer les performances de lecture et d'écriture d'un périphérique de stockage avec dd :
Vous pouvez mesurer la vitesse de lecture et d'écriture d'un périphérique de stockage avec jj très facilement. Bien sûr, il existe de nombreux logiciels graphiques qui fournissent cette information, mais les amateurs de ligne de commande trouveraient cela très intéressant.
Tout d'abord, vous devez monter la partition ou le périphérique de stockage sur votre système de fichiers. Si vous n'avez pas de partition sur votre périphérique de stockage, vous pouvez toujours la créer avec le fdisk commande et formatez-la dans le système de fichiers de votre choix (comme FAT32, EXT4, NTFS, XFS etc). Ici, je suppose que vous avez une partition /dev/sdb1 et il est formaté comme EXT4.
Disons que vous voulez monter /dev/sdb1 partitionner en /mnt répertoire, puis exécutez la commande suivante :
$ sudo mount /dev/sdb1 /mnt
Comme vous pouvez le voir, la partition /dev/sdb1 est monté sur /mnt annuaire.
$ df -h
Créons maintenant un fichier de 1 Go tester dans le /mnt répertoire avec jj:
$ sudo dd if=/dev/zero of=/mnt/testrw bs=1G count=1 oflag=directIci, compte=1 signifie, lisez bs=1G qui est à 1 gigaoctet de /dev/zéro, et écris-le à /mnt/testrw déposer.
le oflag=direct l'option est utilisée pour désactiver la mise en cache du disque. Si la mise en cache du disque est activée, vous n'obtiendrez pas de résultats très précis.
REMARQUE: N'oubliez pas, pour cette opération, vous devez disposer d'au moins 1 Go de mémoire libre ou de RAM sur votre ordinateur. Si vous ne pouvez pas vous permettre autant de RAM libre, réduisez la taille de bs. Par exemple, définissez bs=128M ou même moins, bs=64M.
Comme vous pouvez le voir, la vitesse d'écriture de ma clé USB est d'environ 6.1 Mo par seconde.
Vous pouvez également tester la vitesse de lecture de votre périphérique de stockage avec la commande suivante :
$ sudo dd if=/mnt/testrw of=~/Téléchargements/test bs=1G count=1 oflag=direct
Comme vous pouvez le voir, je peux lire à 4.3 Mo par seconde.
Test de la latence du périphérique de stockage avec dd :
La latence d'un périphérique de stockage est le temps qu'il faut pour accéder au périphérique. C'est un paramètre important que nous pouvons déterminer à l'aide de la jj commander.
Pour tester la latence, nous pouvons écrire ou lire de petits morceaux de données (environ 512 octets à la fois) X fois et voir combien de temps cela prend. Ensuite, nous pouvons calculer très facilement combien de temps il faut pour lire ou écrire un seul bloc de données. C'est ce qu'on appelle la latence du périphérique de stockage.
Par exemple, disons que vous voulez calculer la latence d'écriture. Exécutez maintenant la commande suivante pour écrire un morceau de 512 octets environ 1000 fois :
$ sudo dd if=/dev/zero of=/mnt/testX bs=512 count=1000 oflag=direct
Comme vous pouvez le voir, il faut environ 16.4541 secondes pour écrire 1000 des morceaux de 512 octets de données. Maintenant, pour écrire un seul bloc de données, il faut environ (16.4541s / 1000 = 0.0164s) 0.0164 secondes. Donc la latence d'écriture est d'environ 0.0164 secondes pour ce périphérique de stockage.
Vous pouvez calculer la latence de lecture de la même manière.
C'est ainsi que vous utilisez dd et testez les performances d'un périphérique d'E/S avec. Merci d'avoir lu cet article.