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