J'essaie de comprendre la relation entre un xxx.iso
fichier et les autres aspects d'un périphérique en mode bloc, par exemple des partitions et un système de fichiers.
Il est courant que des personnes décrivent comment accéder ou créer un objet .iso
utilisable comme "monter l'ISO".
Donc, pour poser la question autrement: si moi, ou un logiciel, voulons "monter" un xxx.iso
fichier sur un périphérique USB, est-il nécessaire de disposer d'une partition préexistante avec système de fichiers (par exemple, FAT x ou ext X ) ou le .iso
fichier - une fois dans l'état "monté" - est-il une construction de niveau inférieur qui remplit le même rôle / un rôle similaire à celui d'un système de fichiers (ou même d'une partition)?
filesystems
iso
the_velour_fog
la source
la source
dd
, par exemple.mount /dev/my_usb_stick /media/usb_stick && mount -o loop,ro foo.iso /media/usb_stick/some_dir
? (Lamount
commande de Linux prend en charge l'loop
option de montage pour configurer un périphérique à blocage de boucle, car il est courant de monter des images FS comme un .iso.)Réponses:
Un fichier ISO n'est pas un système de fichiers. Il contient un système de fichiers. Du point de vue de l’utilisation, il fonctionne de la même manière qu’un disque dur, un périphérique USB ou un DVD - vous devez disposer d’un point de montage, c’est-à-dire d’un emplacement dans votre système de fichiers où vous pouvez le monter pour obtenir le contenu.
la source
Il y a trois concepts distincts ici:
.img
est commun.Un
.iso
fichier est généralement un fichier image d'un périphérique bloc contenant un système de fichiers ISO9660 . Il contient une représentation exacte des données stockées sur un CD. De manière analogue, vous pourriez avoir un.img
fichier (appelez-le.ext3
si vous préférez) qui est un fichier image d'un périphérique en mode bloc contenant un système de fichiers ext3 . C’est un moyen courant de distribuer des images de démarrage USB ou des disquettes. Le nom est arbitraire,.iso
c'est ce que nous appelons des fichiers image contenant un système de fichiers ISO9660 (ou, parfois, un système de fichiers UDF, qui est plus moderne).Vous ne pouvez pas monter directement des fichiers image, car ce ne sont pas des périphériques en mode bloc, mais simplement une copie des données d'un périphérique en bloc. Toutefois, Linux et les autres systèmes d’exploitation ont une fonctionnalité appelée périphériques en boucle qui permet d’accéder à un fichier image en tant que périphérique bloc. Pour monter un fichier ISO, vous devez d'abord créer un périphérique de boucle qui représente un périphérique de bloc virtuel avec le même contenu que le fichier ISO. Ensuite, vous pouvez le monter exactement comme vous le feriez sur un CD physique ou sur un lecteur USB contenant un système de fichiers ext3, ou autre. La
mount
commande peut le faire automatiquement, mais sous le capot, il s'agit d'étapes distinctes.Les partitions sont un moyen de diviser un périphérique bloc en plusieurs périphériques blocs logiques plus petits. Les partitions sont optionnelles. Un CD est analogue à un lecteur USB non partitionné ou à une disquette, dans lequel le système de fichiers est stocké sur l’ensemble du périphérique sans table de partition. Les fichiers ISO ne contiennent donc pas de table de partition. Rien ne vous empêche, par exemple, de créer un système de fichiers ISO9660 sur une partition de disque dur. Lorsque vous n'avez des partitions, un fichier image peut être d'une seule partition ou du périphérique physique complet , y compris la table de partition, mais les CD ne sont pas cloisonné, de sorte que la distinction est hors de propos pour les images ISO.
Vous n'avez pas besoin de monter un périphérique - ou un fichier image - pour accéder aux fichiers qu'il contient. Certaines applications et bibliothèques peuvent accéder aux données directement, sans impliquer le système d'exploitation. Ils comprennent simplement le système de fichiers directement et ont un code qui imite ce que fait le système d'exploitation lorsqu'il accède aux fichiers d'un système de fichiers. C'est pourquoi des outils existent pour vous montrer le contenu d'un fichier ISO sans le monter via le système d'exploitation. Le montage est un concept de système d'exploitation, mais ce n'est pas le seul moyen d'accéder aux données sur un périphérique en mode bloc. Certaines personnes pourraient considérer le simple fait de faire ce "montage" d'une certaine manière.
Ce sur quoi vous montez un périphérique (ou un fichier ISO via un périphérique de bouclage) est sans importance. C'est là que dans la hiérarchie des chemins, vous demandez au système d'exploitation d'afficher le contenu d'un périphérique. Sous Linux, vous choisissez généralement un répertoire sur un système de fichiers déjà monté. Mais rien ne vous empêche, par exemple, d’amorcer à partir d’un CD et de demander au noyau de le monter en tant que système de fichiers racine. Bien sûr, étant donné qu’un fichier ISO est, eh bien, un fichier, il existe probablement déjà sur un système de fichiers que vous devez avoir monté quelque part pour pouvoir accéder à l’ISO.
la source
Non, le fichier image ISO n'est pas un système de fichiers à part entière. Tout comme une partition peut contenir un système de fichiers, mais ce n’est pas un système de fichiers, un fichier image ISO contient-il un système de fichiers, mais ce n’est pas un système de fichiers.
Mais vous avez besoin d’un système de fichiers pour deux choses:
/mnt/isotmp
Après cela, si un chemin est résolu en dessous
/mnt/isotmp
, le code du système de fichiers d'image ISO se chargera de la résolution, de l'ouverture, etc.la source
block device/partition/filesystem/
monté sur/some/directory
. Ai-je raison de supposer que l'ISO remplit essentiellement la fonction de système de fichiers?