Lors du montage, quand dois-je utiliser un périphérique en boucle?

18

Selon la question suivante:
Qu'est-ce qu'un "périphérique en boucle" lors du montage?
Un périphérique en boucle est un fichier qui agit comme un périphérique basé sur des blocs. Bien que je puisse comprendre cela conceptuellement, en quoi est-ce différent du montage d'un autre fichier? Par exemple, si je prends une image dd d'un système de fichiers ext2 et que je la monte, je n'ai pas besoin d'utiliser l'option de boucle - mount -t ext2 file.dd /mnt/mount-pointréussit.

Quand dois-je utiliser l'option de boucle et quelle différence y a-t-il entre le montage avec l'option de boucle et le montage sans?

Suchipi
la source

Réponses:

8

Si vous n'avez pas besoin d'utiliser l'option de boucle pour monter un fichier normal, c'est parce qu'il le mountdétecte et l'active automatiquement pour vous. Avant, vous deviez le spécifier manuellement.

psusi
la source
Je le fais encore. Je n'ai jamais remarqué que mount pouvait le faire implicitement.
Bananguin
@ user1129682 Je me demande si différentes versions du noyau ou différentes distributions ont ou n'ont pas cette fonctionnalité?
Suchipi
22

Techniquement, un périphérique de boucle est un périphérique de bloc qui écrit dans un fichier plutôt qu'un élément matériel. Donc, vous utilisez / devez toujours utiliser le périphérique de bouclage lors du montage d'un fichier.

Voilà pour une réponse directe. Peut-être que cela sert d'explication:

Le noyau implémente plusieurs couches d'abstraction afin de pouvoir traiter différents matériels de la même manière. Imaginez que vous deviez reconstruire le pilote ext2 pour chaque marque de contrôleur. Personne ne veut ça, mais nous voulons traiter chaque disque dur de la même manière. C'est pourquoi nous créons des couches d'abstraction.

Le périphérique de bloc est une telle abstraction. Le périphérique de bloc a certains attributs et expose certaines fonctions qui peuvent être utilisées par d'autres logiciels. Peu importe que vous ayez un disque dur ATA ou SCSI ou un lecteur de bande, vous utilisez toujours exactement les mêmes structures et fonctions pour interagir avec. C'est alors la tâche du noyau et plus explicite de cette couche d'abstraction, de faire la bonne chose lors de l'accès au périphérique de bloc. La bonne chose dans le cas de l'interface de périphérique de bloc est de transmettre les appels et les données vers et depuis le bon pilote de périphérique. Ce pilote de périphérique peut être par exemple le sous-système SCSI ou le pilote du périphérique de boucle.

Le pilote de périphérique de boucle transforme les opérations sur le périphérique de bloc associé en opérations de fichier (système), c'est ainsi que les données / partitions se retrouvent dans un fichier.

Je me trompe probablement terriblement dans la terminologie utilisée et le nom et le nombre de couches d'abstraction impliquées. Je voulais juste esquisser le concept de base pour qu'il devienne clair que le périphérique de boucle n'est pas un fichier qui fait quelque chose, mais c'est quelque chose qui utilise des fichiers. Le fichier ne fait rien de différent de ce qu'il est utilisé pour faire.

Bananguin
la source