BEZEICHNUNG¶
losetup - Loop-Geräte einrichten und steuern
ÜBERSICHT¶
Ein Loop-Gerät einrichten:
losetup [options] -f|loopdev file
Informationen erhalten:
losetup [-l] [-a|loopdev]
losetup -j Datei [-o
Versatz]
Recalibrate the size of a loop device:
losetup -c Loop-Gerät
Detach loop devices:
losetup -d Loop-Gerät ...
losetup -D
Prevent loop devices from getting listed:
losetup --remove loopdev ...
BESCHREIBUNG¶
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.
It is possible to create multiple independent loop devices for the
same backing file. This setup may be dangerous, can cause data loss,
corruption, and overwrites. Use --nooverlap with --find
during setup to avoid this problem.
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.
OPTIONEN¶
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...
hängt die Datei oder das Gerät aus, das dem
oder den angegebenen Loop-Gerät(en) zugeordnet ist. Beachten Sie, dass
der Kernel seit Linux v3.7 die »lazy device destruction«
(lockere Gerätezerstörung) verwendet. Der Abhängevorgang
gibt keinen EBUSY-Fehler mehr zurück, falls das Gerät
aktiv vom System verwendet wird, aber es wird mit einer
»autoclear«-Markierung versehen und später
zerstört. Selbst wenn das Gerät nicht verwendet wird, kann das
Loop-Gerät später zerstört werden. Falls Sie auf eine
vollständige Entfernung des Loop-Geräts warten müssen,
rufen Sie udevadm settle nach losetup auf.
-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 the reference string. The backwardly compatible
default is to use the backing filename as a reference in the loop setup ioctl
(aka lo_file_name). This option overrides this default behavior and sets the
reference to the string. The reference may be used by udevd in
/dev/loop/by-ref. The 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]
aktiviert oder deaktiviert den direkten E/A für
die Sicherungsdatei. Die Standardeinstellung ist off.Mit
--direct-io oder --direct-io=on wird der direkte E/A aktiviert.
Mit --direct-io=off kann er jedoch explizit deaktiviert werden.
-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.
--remove loopdev...
Remove the specified loop device(s). The loop device must
be unused (not associated with any backing file). This option removes the
device node from the system. In most cases, --detach is sufficient for
normal use. See the LOOP DEVICE LIFECYCLE section below.
-h, --help
zeigt einen Hilfetext an und beendet das Programm.
-V, --version
zeigt Versionsinformationen an und beendet das
Programm.
LOOP DEVICE LIFECYCLE¶
Loop devices go through several states during their lifecycle:
Creation
When losetup associates a loop device with a
backing file, it automatically creates the device node (e.g.,
/dev/loop0) if it doesn’t already exist. This happens on-demand
when you use options like -f or specify a loop device explicitly. The
device is created using the LOOP_CTL_ADD ioctl.
Detachment
The -d (--detach) option disassociates the
backing file from the loop device using the LOOP_CLR_FD ioctl. After
detachment, the loop device node remains in /dev and can be reused for
another backing file. Use lsblk -a to see all loop device nodes,
including unused ones.
Removal
The --remove option completely removes the loop
device node from the system using the LOOP_CTL_REMOVE ioctl. The device
must be detached first (not associated with any backing file). After removal,
the device node disappears from /dev.
VERSCHLÜSSELUNG¶
Cryptoloop wird zugunsten von dm-crypt nicht mehr
unterstützt. Für weitere Details siehe
cryptsetup(8).
EXIT-STATUS¶
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.
ANMERKUNGEN¶
Since version 2.37 losetup uses LOOP_CONFIGURE ioctl
to set up a new loop device by one ioctl call. The old versions use
LOOP_SET_FD and LOOP_SET_STATUS64 ioctls to do the same.
UMGEBUNGSVARIABLEN¶
LOOPDEV_DEBUG=all
aktiviert die Debug-Ausgabe.
LIBSMARTCOLS_DEBUG=all
aktiviert die Debug-Ausgabe für
libsmartcols.
LIBSMARTCOLS_DEBUG_PADDING=on
verwendet sichtbare Auffüllzeichen.
DATEIEN¶
/dev/loop[0..N]
Loop-Blockgeräte
/dev/loop-control
Loop-Steuergerät
BEISPIEL¶
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
AUTOREN¶
Karel Zak <kzak@redhat.com>, basierend auf der
Originalversion von Theodore Ts’o
<tytso@athena.mit.edu>.