LOSETUP(8) Systemadministration LOSETUP(8)

losetup - ställa in och styra loop-enheter

Ställ in en loop-enhet:

losetup [options] -f|loopdev file

Hämta information:

losetup [-l] [-a|loopdev]

losetup -j fil [-o offset]

Recalibrate the size of a loop device:

losetup -c loopdev

Detach loop devices:

losetup -d loopdev ...

losetup -D

Prevent loop devices from getting listed:

losetup --remove loopdev ...

losetup används för att associera loop-enheter med vanliga filer eller blockenheter, för att koppla bort loop-enheter och för att fråga om status för en loop-enhet. Om endast argumentet loopdev anges visas statusen för motsvarande loop-enhet. Om ingen flagga anges visas alla loop-enheter.

Observera att det gamla utmatningsformatet (dvs. losetup -a) med kommaseparerade strängar inte längre används till förmån för utmatningsformatet --list.

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.

Loop device setup är inte en atomär operation när den används med --find, och losetup skyddar inte denna operation med något lås. Antalet försök är internt begränsat till maximalt 16. Vi rekommenderar att du använder t.ex. flock(1) för att undvika kollisioner i mycket parallella användningsfall.

Argumenten storlek och offset kan följas av de multiplikativa suffixen KiB (=1024), MiB (=1024*1024), och så vidare för GiB, TiB, PiB, EiB, ZiB och YiB (iB är valfritt, t.ex. har "K" samma betydelse som "KiB") eller suffixen KB (=1000), MB (=1000*1000), och så vidare för GB, TB, PB, EB, ZB och YB.

-a, --all

Visa status för alla loop-enheter. Observera att all information inte är tillgänglig för användare som inte är root. Se även --list. Det gamla utdataformatet (som skrivs ut utan --list) är föråldrat.

-d, --detach loopdev...

Avlägsna filen eller enheten som är associerad med den eller de angivna loop-enheterna. Observera att sedan Linux v3.7 använder kärnan "lazy device destruction". Detach-operationen returnerar inte EBUSY-felet längre om enheten används aktivt av systemet, men den är markerad med autoclear-flaggan och förstörs senare. Även om enheten inte används kan loop-enheten förstöras senare. Om du behöver vänta på att loopenheten ska tas bort helt och hållet, anropar du udevadm settle efter losetup.

-D, --detach-all

Koppla bort alla tillhörande loop-enheter.

-f, --find [fil]

Hitta den första oanvända loop-enheten. Om ett fil-argument finns, använd den funna enheten som loop-enhet. Annars skrivs bara dess namn ut.

--show

Visa namnet på den tilldelade loop-enheten om flaggan -f och ett fil-argument finns.

-L, --nooverlap

Kontrollera om det finns konflikter mellan loop-enheter för att undvika situationer där samma backingfil delas av flera loop-enheter. Om filen redan används av en annan enhet, återanvänd då enheten i stället för att skapa en ny. Flaggan är endast meningsfullt med --find.

-j, --associated fil [-o offset]

Visar status för alla loop-enheter som är kopplade till den angivna filen.

-o, --offset offset

Datastarten flyttas offset byte in i den angivna filen eller enheten. offset kan följas av de multiplikativa suffixen, se ovan.

--loop-ref sträng

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 storlek

Dataslutet sätts till högst storlek bytes efter datastarten. storlek kan följas av de multiplikativa suffixen, se ovan.

-b, --sector-size storlek

Ange den logiska sektorstorleken för loop-enheten i byte (sedan Linux 4.14). Flaggan kan användas när du skapar en ny loop-enhet samt som ett fristående kommando för att ändra sektorstorleken på en redan befintlig loop-enhet.

-c, --set-capacity loopdev

Tvinga loopdrivrutinen att läsa om storleken på filen som är associerad med den angivna loopenheten.

-P, --partscan

Tvinga kärnan att skanna partitionstabellen på en nyskapad loop-enhet. Observera att tolkningen av partitionstabellen beror på sektorstorleken. Standard är att sektorstorleken är 512 byte, annars måste du använda flaggan --sector-size tillsammans med --partscan.

-r, --read-only

Ställ in en skrivskyddad loop-enhet.

--direct-io[=on|off]

Aktivera eller inaktivera direkt I/O för stödfilen. Standardinställningen är off. Om du anger antingen --direct-io eller --direct-io=on aktiveras det. Men --direct-io=off kan anges för att uttryckligen stänga av det.

-l, --list

Om en slingenhet eller flaggan -a anges, skriv ut standardkolumnerna för antingen den angivna slingenheten eller alla slingenheter; standard är att skriva ut information om alla enheter. Se även --output, --noheadings, --raw och --json.

-O, --output column[,column]...

Ange de kolumner som ska skrivas ut för --list-utdata. Använd --help för att få en lista över alla kolumner som stöds.

--output-all

Skriv ut alla tillgängliga kolumner.

-n, --noheadings

Skriv inte ut rubriker för utdataformatet --list.

--raw

Använd det råa utdataformatet --list.

-J, --json

Använd JSON-format för --list-utdata.

--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

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

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.

Cryptoloop stöds inte längre till förmån för dm-crypt. För mer information se cryptsetup(8).

losetup returnerar 0 vid framgång, icke-noll vid misslyckande. När losetup visar status för en loop-enhet returnerar den 1 om enheten inte är konfigurerad och 2 om ett fel inträffade som gjorde det omöjligt att fastställa enhetens status.

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.

LOOPDEV_DEBUG=all

aktiverar felsökningsutmatning.

LIBSMARTCOLS_DEBUG=all

aktiverar libsmartcols felsökningsutdata.

LIBSMARTCOLS_DEBUG_PADDING=on

använda synliga utfyllnadstecken.

/dev/loop[0..N] /dev/loop[0..N]

enheter för slingblock

/dev/loop-kontroll

kontrollenhet för slinga

Följande kommandon kan användas som exempel på hur loop-enheten används.

# 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>, baserad på originalversionen från Theodore Ts’o <tytso@athena.mit.edu>.

För felrapporter, använd felhanteraren https://github.com/util-linux/util-linux/issues.

Kommandot losetup ingår i paketet util-linux som kan hämtas från Linux Kernel Archive https://www.kernel.org/pub/linux/utils/util-linux/.

2026-05-18 util-linux 2.42.1