Wann sollte ich bei der Montage ein Loop-Gerät verwenden?


18

Nach folgender Frage:
Was ist ein "Loop Device" bei der Montage?
Ein Loop-Gerät ist eine Datei, die als blockbasiertes Gerät fungiert. Obwohl ich das konzeptionell verstehen kann, wie unterscheidet sich dies vom Mounten einer anderen Datei? Wenn ich zum Beispiel ein dd-Image eines ext2-Dateisystems mache und es dann mounte, muss ich nicht die Option loop verwenden - dies ist mount -t ext2 file.dd /mnt/mount-pointerfolgreich.

Wann sollte ich die Option loop verwenden und welcher Unterschied besteht zwischen dem Mounten mit der Option loop und dem Mounten ohne diese Option?

Antworten:


8

Wenn Sie zum Mounten einer regulären Datei nicht die Option loop verwenden müssen, mountwird dies erkannt und automatisch aktiviert. Früher mussten Sie es manuell angeben.


Ich mache immernoch. Ich habe nie bemerkt, dass mount das implizit kann.
Bananguin

@ user1129682 Ich frage mich, ob verschiedene Versionen des Kernels oder verschiedene Distributionen diese Funktion haben oder nicht?
Suchipi

22

Technisch gesehen ist ein Loop-Gerät ein Block-Gerät, das in eine Datei schreibt und nicht in Hardware. Sie müssen also beim Mounten einer Datei immer das Loopback-Gerät verwenden.

Soviel zur direkten Antwort. Vielleicht dient dies als Erklärung:

Der Kernel implementiert mehrere Abstraktionsebenen, sodass unterschiedliche Hardware auf dieselbe Weise behandelt werden kann. Stellen Sie sich vor, Sie müssten den ext2-Treiber für jede Controller-Marke neu erstellen. Das will niemand, aber wir wollen jede Festplatte gleich behandeln. Deshalb erstellen wir Abstraktionsebenen.

Blockgeräte sind eine solche Abstraktion. Geräte blockieren haben bestimmte Attribute und stellen bestimmte Funktionen zur Verfügung, die von anderer Software verwendet werden können. Es spielt keine Rolle, ob Sie eine ATA-Festplatte oder eine SCSI-Festplatte oder ein Bandlaufwerk haben, Sie verwenden immer genau die gleichen Strukturen und Funktionen, um damit zu interagieren. Es ist dann die Aufgabe des Kernels und expliziter dieser Abstraktionsschicht, das Richtige zu tun, wenn auf das Blockgerät zugegriffen wird. Das Richtige bei der Block-Device-Schnittstelle ist die Weitergabe der Anrufe und Daten an und vom richtigen Gerätetreiber. Dieser Gerätetreiber kann beispielsweise das SCSI-Subsystem oder der Treiber für das Loop-Gerät sein.

Der Loop-Gerätetreiber wandelt Operationen auf dem zugeordneten Block-Gerät in Datei- (System-) Operationen um. Auf diese Weise werden die Daten / Partitionen in einer Datei gespeichert.

Ich bin wahrscheinlich schrecklich falsch in der verwendeten Terminologie und dem Namen und der Anzahl der beteiligten Abstraktionsebenen. Ich wollte nur das Grundkonzept skizzieren, damit klar wird, dass das Loop-Gerät keine Datei ist, die etwas tut, sondern etwas, das Dateien verwendet. Die Datei macht nichts anderes als das, wofür sie verwendet wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.