Ich habe eine ISO-Datei mit dem Namen ubuntu.iso
.
Ich kann mount
es mit dem Befehl: mount ubuntu.iso /mnt
. Nach der Montage es, ich kann es aus dem outout des Befehls sehen df -h
: /dev/loop0 825M 825M 0 100% /mnt
.
Wenn ich jedoch den Befehl ausführe mount -o loop ubuntu.iso /mnt
, erhalte ich das gleiche Ergebnis.
Wie ich weiß, können wir mit loop device die iso-Datei als Gerät aufrufen. Aus diesem Grund haben wir die Option hinzugefügt -o loop
. Aber ich kann meine ISO-Datei auch dann aufrufen, wenn ich sie nur ausführe mount ubuntu.iso /mnt
.
Also kann ich den Unterschied zwischen mount
und nicht erkennen mount -o loop
.
mount
loop-device
Yves
quelle
quelle
mount ubuntu.iso /mnt
Es wird kein schreibgeschütztes Loopback-Gerät eingerichtet undmount /image.squashfs /mnt
es wird keinDIO
(losetup --direct-io=on
) Loopback-Gerät eingerichtet.Antworten:
Beide Versionen verwenden Loop-Geräte und führen zu demselben Ergebnis. Die Kurzfassung basiert auf der
mount
in den letzten Jahren hinzugefügten „Cleverness“ .mount -o loop
weistmount
ausdrücklich an, ein Loop-Gerät zu verwenden; Es überlässt es dem Loop-Gerät selbst, nachmount
einem verfügbaren Gerät zu suchen, es einzurichten und dieses zu verwenden. (Sie können das Gerät angeben zu mit zBmount -o loop=/dev/loop1
.)Die Cleverness ist, dass, wenn eine Datei zum Mounten
mount
angegeben wird, diese bei Bedarf automatisch über ein Loop-Gerät gemountet wird - dh , das Dateisystem ist nicht angegeben oder eslibblkid
wird nur auf Block-Geräten (und daher a) unterstützt loop device wird benötigt, um die Datei in ein Blockgerät zu übersetzen).Der Loop-Geräteabschnitt der
mount
Manpage enthält weitere Details.quelle
util-linux
2.11 wurdemount -o loop
im Jahr 2001 unterstützt, und ich denke, 2.10 hatte es auch, zumindest ein Jahr zuvor.-o loop
irgendwann zwischenutil-linux
2.4 und 2.5j hinzugefügt wurde; Debian 1.1 hatte letzteres und wurde im Juni 1996 veröffentlicht. Diese Option ist also seit über zwanzig Jahren in Distributionen verfügbar.mount
kann transparent auf diesen Mechanismus umgeschaltet werden (zumindest für die ersten 15 Minuten bis dahin) Es stellte sich heraus, dass jemandes Shellscript kaputt gegangen ist und jeder zu Loop-Geräten zurückkehren muss (im Gegensatz zumount -o loop
denen , die immer noch explizit nach dem alten (aktuellen) Mechanismus fragen ).Das
loop
Gerät wird hauptsächlich mit demlosteup
Befehl gesteuert . So erhaltenlosetup -a
Sie einen Überblick über die verwendeten Loop-Geräte und angehängten Dateien. Dermount
Befehl kann nur das Blockgerät mounten . Das Loop-Gerät kann das virtuelle Blockgerät aus einer Datei (Zeichengerät) erstellen.Tatsächlich gibt es einen großen Unterschied zwischen diesen Befehlen, da auf älteren Linux-Systemen die Datei nicht als das richtige anzuhängende Gerät
mount
erkannt werden konnte, aber während der Zeit, in der der Befehl zum Anhängen mit vielen Funktionen ausgeführt wurde, kann sie dies nun selbst entscheiden Versuchen Sie, den Befehl losetup aufzurufen und das Ergebnis einzuhängen. Wenn Sie jedoch ein ganzes Disk-Image haben, das nicht im ISO-Format sondern z. B. mit MBR am Anfang vorliegt , konnte der Befehl mount es nicht erkennen, und Sie müssen die verwendbare Partition (z. B. mit dem Befehl) selbst finden und dann mit der vollständigen Option mount comman mounten wie :parted disk_image.raw unit B print
In dieser Syntax wurde das Loop-Gerät nicht angegeben und es wird davon ausgegangen, dass das System das erste freie (
/dev/loop0
,/dev/loop1
usw.) auswählt. Zu den weiteren neuen Funktionen des Befehls mount gehört, dass Sie den Dateisystemtyp des bereitgestellten Block-Geräts nicht angeben müssen (in Ihrem Fall-t iso9660
). wenn die Dateisystemunterstützung installiert wurde.quelle
Es gibt keinen Unterschied zwischen
mount ubuntu.iso /mnt
undmount -o loop ubuntu.iso /mnt
.Der erste wird transparent behandelt, als ob Sie den zweiten verwendet hätten.
quelle