LOSETUP(8)

BEZEICHNUNG
losetup - Loop-Geräte einrichten und steuern

ÜBERSICHT

Ein Loop-Gerät einrichten:

losetup [Optionen] -f|Loop-Gerät Datei

Informationen erhalten:

losetup [-l] [-a|Loop-Geät]

losetup -j Datei [-o Versatz]

Größe eines Loop-Geräts neu kalibrieren:

losetup -c Loop-Gerät

Loop-Geräte abhängen:

losetup -d Loop-Gerät ...

losetup -D

Loop-Geräte aus der Auflistung ausblenden:

losetup --remove Loop-Gerät …

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.

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.

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
    Legt die Referenzzeichenkette fest. Die abwärtskompatible Standardeinstellung ist die Verwendung des Dateinamens der Hintergrunddatei als Referenz im Loop-Setup-IOCTL (auch bekannt als lo_file_name). Diese Option setzt dieses Standardverhalten außer Kraft und setzt die Referenz auf die Zeichenkette. Die Referenz kann von udevd in /dev/loop/by-ref verwendet werden. Der Linux-Kernel verwendet die Referenz überhaupt nicht; sie kann jedoch von einigen älteren Dienstprogrammen verwendet werden, die die Hintergrunddatei nicht aus dem Sysfs lesen können. Die Referenz ist nur für den Root-Benutzer lesbar (siehe --output +REF) und ist auf 64 Bytes begrenzt.

--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 Loop-Gerät …
    entfernt das oder die angegebene(n) Loop-Geräte. Das Loop-Gerät darf nicht in Benutzung sein (d.h. keiner Sicherungsdatei zugeordnet sein). Diese Option entfernt den Geräteknoten aus dem System. In den meisten Fällen ist --detach für den normalen Gebrauch ausreichend. Siehe den Abschnitt LEBENSZYKLUS VON LOOP-GERÄTEN weiter unten.

-h, --help
    zeigt einen Hilfetext an und beendet das Programm.

-V, --version
    zeigt Versionsinformationen an und beendet das Programm.

LEBENSZYKLKUS VON LOOP-GERÄTEN

Loop-Geräte durchlaufen während ihres Lebenszyklus mehrere Status:

Erzeugung
    Wenn losetup ein Loop-Gerät mit einer zugrundeliegenden Datei verknüpft, wird der Geräteknoten (zum Beispiel /dev/loop0) automatisch erstellt, falls er noch nicht existiert. Dies geschieht bei Bedarf, wenn Sie Optionen wie -f verwenden oder ein Loop-Gerät explizit angeben. Das Gerät wird mithilfe des IOCTL-Befehls LOOP_CTL_ADD erstellt.

Abhängung
    Die Option -d (--detach) trennt die zugrundeliegende Datei vom Loop-Gerät mithilfe des IOCTL-Befehls LOOP_CLR_FD. Nach der Trennung verbleibt der Loop-Geräteknoten in /dev und kann für eine andere zugrundeliegende Datei wiederverwendet werden. Verwenden Sie lsblk -a, um alle Loop-Geräteknoten, einschließlich der ungenutzten, anzuzeigen.

Entfernung
    Die Option --remove entfernt den Loop-Geräteknoten vollständig aus dem System mithilfe des IOCTL-Befehls LOOP_CTL_REMOVE. Das Gerät muss zuvor getrennt werden (das heißt, keiner Datei zugeordnet sein). Nach der Entfernung verschwindet der Geräteknoten aus dem Verzeichnis /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

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.

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

basierend auf der Originalversion von

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das

VERFÜGBARKEIT

Der Befehl losetup ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.