losetup - Loop-Geräte einrichten und steuern
ÜBERSICHT
Informationen erhalten:
losetup [Loop-Gerät]
losetup -l [-a]
losetup -j Datei [-o
Versatz]
Ein Loop-Gerät abhängen:
losetup -d Loop-Gerät ...
Alle zugehörigen Loop-Geräte abhängen:
losetup -D
Ein Loop-Gerät einrichten:
losetup [-o Versatz] [--sizelimit
Größe] [--sector-size
Größe] [--loop-ref Name] [-Pr]
[--show] -f|Loop-Gerät Datei
Größe eines Loop-Geräts ändern:
losetup -c Loop-Gerät
losetup wird zum Zuweisen von Loop-Geräten zu
regulären Dateien oder blockorientierten Geräten, zum
Abhängen von Loop-Geräten und zum Abfragen des Status eines
Loop-Gerätes verwendet. Wenn nur das Argument
Loop-Gerät angegeben ist, wird der Status des
korrespondierenden Loop-Geräts angezeigt. Falls keine Option
angegeben ist, werden alle Loop-Geräte angezeigt.
Beachten Sie, dass das alte Ausgabeformat (d.h. losetup -a)
mit durch Kommata getrennten Zeichenketten als veraltet markiert wurde und
nun das Ausgabeformat mit --list bevorzugt wird.
Es ist möglich, mehrere unabhängige
Loop-Geräte für die gleiche zugrunde liegende Datei anzulegen.
Diese Art der Einrichtung kann gefährlich sein, kann Datenverlust,
Beschädigungen und Überschreibungen verursachen. Verwenden
Sie während der Einrichtung --nooverlap mit --find, um
dieses Problem zu vermeiden.
Die Einrichtung des Loop−Geräts ist keine atomare
Aktion, wenn sie zusammen mit --find verwendet wird, und
losetup schützt diese Aktion nicht durch eine Sperre. Die
Anzahl der Versuche ist intern auf maximal 16 beschränkt. Es wird
empfohlen, beispielsweise flock(1) zu verwenden, um eine Kollision in
stark parallelisierten Anwendungsfällen zu verwenden.
Den Argumenten Größe und Versatz
können die multiplikativen Suffixe KiB (=1024), MiB (=1024*1024) und
so weiter für GiB, TiB, PiB, EiB, ZiB und YiB folgen (das
»iB« ist optional, zum Beispiel ist »K«
gleichbedeutend mit »KiB«) oder die Suffixe KB (=1000), MB
(=1000*1000) und so weiter für GB, TB, PB, EB, ZB und YB.
-a, --all
zeigt den Status aller Loop-Geräte an. Beachten
Sie, dass gewöhnliche Benutzer nicht auf alle Informationen zugreifen
können. Siehe auch --list. Das frühere Format (wie es
ohne --list ausgegeben wird) ist veraltet.
-d, --detach Loop-Gerät...
Detach the file or device associated with the specified
loop device(s). Note that since Linux v3.7 kernel uses "lazy device
destruction". The detach operation does not return EBUSY error
anymore if device is actively used by system, but it is marked by autoclear
flag and destroyed later. Even if the device is not used, the loop device can
be destroyed later. If you need to wait for a complete removal of the loop
device, call udevadm settle after losetup.
-D, --detach-all
hängt alle zugehörigen Loop-Geräte
ab.
-f, --find [Datei]
sucht nach dem ersten ungenutzten Loop-Gerät. Wenn
ein Datei-Argument vorhanden ist, wird das gefundene Gerät als
Loop-Gerät verwendet. Anderenfalls wird einfach dessen Name
ausgegeben.
--show
zeigt den Namen des zugehörigen Loop-Geräts
an, wenn die Option -f und das Argument Datei vorhanden
sind.
-L, --nooverlap
prüft auf Konflikte zwischen Loop-Geräten,
um die Situation zu vermeiden, bei der die gleiche zugrunde liegende Datei von
mehreren Loop-Geräten gemeinsam verwendet wird. Wenn die Datei bereits
von einem anderen Gerät verwendet wird, dann wird das Gerät
erneut verwendet, anstatt ein neues zu einzurichten. Diese Option ist nur
zusammen mit --find sinnvoll.
-j, --associated Datei [-o
Versatz]
zeigt den Status aller Loop-Geräte an, die der
angegebenen Datei zugeordnet sind.
-o, --offset Versatz
verschiebt den Start der Daten um den angegebenen
Versatz in Byte in der Datei oder dem angegebenen Gerät. Dem
Versatz dürfen multiplikative Suffixe folgen; siehe oben.
--loop-ref Zeichenkette
Set reference string. The backwardly compatible default
is to use the backing filename as a reference in loop setup ioctl (aka
lo_file_name). This option can overwrite this default behavior and set the
reference to the string. The reference may be used by udevd in
/dev/loop/by-ref. Linux kernel does not use the reference at all, but it could
be used by some old utils that cannot read the backing file from sysfs. The
reference is readable only for the root user (see --output +REF) and it
is restricted to 64 bytes.
--sizelimit Größe
setzt das Ende der Daten auf nicht mehr als die
angegebene Größe in Byte nach dem Anfang der Daten. Der
Größe dürfen multiplikative Suffixe folgen; siehe
oben.
-b, --sector-size Größe
legt die logische Sektorengröße des
Loop-Geräts in Bytes fest (seit Linux 4.14). Die Option darf sowohl
beim Erstellen neuer Loop-Geräte als auch als einzelner Befehl zum
Ändern der Sektorengröße eines bereits existierenden
Loop-Geräts verwendet werden.
-c, --set-capacity Loop-Gerät
zwingt den Loop-Treiber, die Größe der
Datei neu einzulesen, der das angegebene Loop-Gerät zugeordnet
ist.
-P, --partscan
zwingt den Kernel, die Partitionstabelle auf einem neu
erstellten Loop-Gerät einzulesen. Beachten Sie, dass das Einlesen der
Partitionstabelle von den Sektorengrößen abhängt. Die
standardmäßige Sektorengröße ist 512 Byte,
anderenfalls müssen Sie die Option --sector-size zusammen mit
--partscan verwenden.
-r, --read-only
richtet ein schreibgeschütztes Loop-Gerät
ein.
--direct-io[=on|off]
Enable or disable direct I/O for the backing file. The
default is off. Specifying either --direct-io or
--direct-io=on will enable it. But, --direct-io=off can be
provided to explicitly turn it off.
-v, --verbose
aktiviert den ausführlichen Modus.
-l, --list
gibt, falls ein Loop−Gerät oder die Option
-a angegeben ist, die Standardspalten für entweder das
angegebene Loop-Gerät oder alle Loop-Geräte aus; die Vorgabe ist
die Ausgabe von Informationen zu allen Geräten. Siehe auch
--output, --noheadings, --raw und --json.
-O, --output Spalte[,Spalte]...
gibt an, welche Spalten mit --list ausgegeben
werden sollen. Mit --help erhalten Sie eine Liste aller
unterstützten Spalten.
--output-all
gibt alle verfügbaren Spalten aus.
-n, --noheadings
zeigt bei der Ausgabe mit --list keine
Überschriften an.
--raw
verwendet das Rohformat für die Ausgabe mit
--list.
-J, --json
verwendet das JSON-Format für die Ausgabe mit
--list.
Cryptoloop wird zugunsten von dm-crypt nicht mehr
unterstützt. Für weitere Details siehe
cryptsetup(8).
losetup gibt 0 im Erfolgsfall und einen von 0 verschiedenen
Wert bei einem Fehlschlag zurück. Wenn losetup den Status
eines Loop-Geräts anzeigt, wird 1 zurückgegeben, falls das
Gerät nicht eingerichtet ist und 2, falls ein Fehler aufgetreten ist,
der die Statusermittlung des Geräts verhindert hat.
Seit Version 2.37 verwendet losetup das Ioctl
LOOP_CONFIGURE, um ein neues Loop-Gerät mit einem einzigen
Ioctl-Aufruf einzurichten. Die alten Versionen verwenden die Ioctls
LOOP_SET_FD und LOOP_SET_STATUS64, um das gleiche zu
erreichen.
LOOPDEV_DEBUG=all
aktiviert die Debug-Ausgabe.
/dev/loop[0..N]
Loop-Blockgeräte
/dev/loop-control
Loop-Steuergerät
Die folgenden Befehle können als Beispiel für die
Nutzung eines Loop-Geräts verwendet werden.
# dd if=/dev/zero of=~/file.img bs=1024k count=10
# losetup --find --show ~/file.img
/dev/loop0
# mkfs -t ext2 /dev/loop0
# mount /dev/loop0 /mnt
...
# umount /dev/loop0
# losetup --detach /dev/loop0
Karel Zak <kzak@redhat.com>, basierend auf der
Originalversion von Theodore Ts’o
<tytso@athena.mit.edu>.
For bug reports, use the issue tracker
<https://github.com/util-linux/util-linux/issues>.
Der Befehl losetup ist Teil des Pakets util-linux, welches
aus dem Linux-Kernel-Archiv
<https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen
werden kann.