J'avais auparavant l'habitude de créer des fichiers image en utilisant dd
, de configurer un système de fichiers sur eux en utilisant mkfs
et mount
d'y accéder en tant que partitions montées. Plus tard, j'ai vu sur Internet que de nombreux exemples utilisent losetup
au préalable pour faire une entrée de périphérique de boucle sous /dev
, puis le monter. Je ne pouvais pas dire pourquoi on aurait pratiquement besoin d'un fichier image pour se comporter comme un périphérique en boucle et avoir sa propre /dev
entrée alors que le même comportement peut être obtenu sans tous les tracas.
Résumé: Dans un scénario réel, pourquoi avons-nous besoin d'une /dev/loopX
entrée pour être présente alors que nous pouvons simplement monter l'image fs sans elle? Quelle est l'utilité d'un périphérique en boucle?
mount
c'est assez intelligent pour faire les tracas pour vous. (comme Stephen Harris le montre dans sa réponse)Réponses:
Les montages doivent généralement être effectués sur des périphériques de type bloc. Le pilote de boucle place un frontal de périphérique de bloc dans votre fichier de données.
Si vous effectuez un montage en boucle sans,
losetup
le système d'exploitation en fait un en arrière-plan.par exemple
Vous devrez peut-être appeler
losetup
directement si votre image de fichier contient des partitions intégrées.par exemple si j'ai cette image:
Je ne peux pas monter ça directement
Mais si j'utilise
losetup
et quekpartx
je peux accéder aux partitions:la source
losetup
, utilisez simplementmount -o loop,offset=$((512*2048))
, où512
est la taille du secteur et2048
ce qui estfdisk
donné à partirStart
de la partition.losetup
etkpartx
. Laissez les outils travailler dur :-)Les systèmes de fichiers s'attendent à lire et à écrire sur des périphériques bloqués, mais les fichiers image ne sont pas des périphériques bloqués. Les périphériques en boucle fournissent un périphérique de bloc au-dessus d'un fichier (ou un autre périphérique de bloc, éventuellement avec remappage).
Dans de nombreux cas, il n'est pas nécessaire de prendre en compte les périphériques en boucle lors du montage d'images car
mount
il s'occupe de tout pour vous; mais les périphériques de boucle sont toujours impliqués.losetup -l -a
va leur montrer.Voir aussi Quelle est la différence entre la boucle mount et mount -o .
la source
mount
?mount
s'occupe de l'losetup
ajout,-o loop
etc.Vous semblez être sous Linux et Linux utilise un mauvais nom pour cette fonctionnalité.
J'ai inventé cette fonctionnalité en 1988 sur SunOS-4.0 et j'appelle cette fonctionnalité
fbk
- File émule le périphérique BlocK.L'arrière-plan est que le pilote de périphérique émule un périphérique de bloc au-dessus d'un fichier ordinaire. Vous en avez besoin car un système de fichiers ne peut pas utiliser un fichier brut comme stockage d'arrière-plan pour un système de fichiers. Il a plutôt besoin d'un périphérique bloc et c'est ce qui
fbk
émule.Depuis un certain temps, certaines personnes ont rendu le programme
mount
un peu plus intelligent et il existe des implémentations de montage qui créent automatiquement unefbk
instance pour un fichier au cas où lemount
programme détecte que l'argument qui devrait être un périphérique bloc semble être un fichier plan à la place.la source
lofi
périphérique ("fichier de bouclage") fonctionnant de manière similaire; BSD les a introduits sous le nomvnd
("disque vnode") donc le concept a eu beaucoup de noms différents au fil des ans.Même s'il n'était pas nécessaire en arrière-plan pour monter des systèmes de fichiers à partir de fichiers, vous en auriez toujours besoin pour toute configuration utilisant un pilote ou un programme qui attend absolument un périphérique de bloc. Pensez aux serveurs nbd (périphérique de bloc réseau), aux pilotes de périphériques de bloc composé comme mdraid, lvm, etc.
la source