Que se passe-t-il lorsque je fais «cat debian.iso> / dev / sdX»?

10

Je crée un live-USB et ne comprends pas précisément: que se passe-t-il lorsque je copie un fichier (ou même un système de fichiers) directement sur un nœud de périphérique (par opposition à un système de fichiers)?

Boris Burkov
la source

Réponses:

16

Le shell ouvrira l'appareil /dev/sdX. Toutes les sorties de la catcommande, qui finissent par être le contenu de debian.iso, sont écrites directement sur ce périphérique.

Le résultat final debian.isoest écrit octet par octet au début du disque sous-jacent /dev/sdX.

En effet, le nœud de l'appareil fait apparaître que le contenu de bas niveau de votre support de stockage se comporte comme un fichier unique. Vous écrivez dans ce "fichier", et donc vous écrivez sur le support de stockage. Cette philosophie est connue comme "tout est un fichier" et est considérée comme l'une des caractéristiques déterminantes d'un système Unix.

Jim Paris
la source
9
Cette commande est-elle différente de dd if=debian.iso of=/dev/sdX?
2
@htor, pas de manière significative, mais ddvous donne plus de contrôle sur la taille des blocs, la valeur par défaut étant dépendante de l'implémentation (par exemple 1 ou 512 octets). Avec, ddvous pouvez potentiellement choisir une meilleure taille pour votre périphérique bloc, comme 4096 octets.
mrb
Merci, Jim. Cela signifie-t-il qu'en exécutant cette commande, j'écrase MBR avec la table de partition et la partition FAT sur mon flash et le remplis de système de fichiers ISO-9660 avec ses secteurs de 2048 octets et son chargeur de démarrage quelque part? Je ne sais pas comment cela doit fonctionner, car la spécification de CD amorçable El Torito autorise plusieurs modes d'action de cette image de CD - émulation de disquette, émulation de disque dur et aucune émulation. Pourriez-vous également expliquer, quel sens cela fait de dire à dd (si je l'utilise à la place), quelle taille de blocs il doit utiliser, si la taille des blocs est déterminée par le système de fichiers (c'est-à-dire qu'ils doivent être de 2048 octets sur ISO)
Boris Burkov
2
@Bob Sauf avec les lecteurs de bande, la taille de bloc à laquelle vous passez ddinfluence les performances, mais pas les données lues et écrites. Il n'y a aucune relation entre la ddtaille du bloc et la taille du bloc CD ou la taille du bloc du système de fichiers. Quelques mégaoctets vous donneront généralement les meilleures performances, mais catpeuvent être plus rapides que dd.
Gilles 'SO- arrête d'être méchant'
2
Que diriez-vous du secteur de démarrage, / dev / sdX démarrera-t-il ensuite aussi normalement que l'image du CD / DVD?
math