Scroll to navigation

LOSETUP(8) Systemadministration LOSETUP(8)

NAMN

losetup - ställa in och styra loop-enheter

SYNOPSIS

Ställ in en loop-enhet:

losetup [flaggor] -f|loopenh fil

Hämta information:

losetup [-l] [-a|loopenh]

losetup -j fil [-o offset]

Kalibrera om en loop-enhets storlek:

losetup -c loopdev

Lösgör loop-enheter:

losetup -d loopdev ...

losetup -D

Förhindra att loop-enheter listas:

losetup --remove loopenh ...

BESKRIVNING

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.

Det går att skapa flera oberoende loop-enheter för samma underliggande fil. Denna konfiguration kan vara farlig och orsaka dataförlust, datakorruption och överskrivningar. Använd --nooverlap med --find vid konfigurationen för att undvika problemet.

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.

FLAGGOR

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

Ange referenssträngen. Den bakåtkompatibla standardinställningen är att använda namnet på den underliggande filen som referens i ioctl-anropet för loop-konfiguration (även kallat lo_file_name). Flaggan åsidosätter standardbeteendet och sätter referensen till sträng. Referensen kan användas av udevd i /dev/loop/by-ref. Linuxkärnan använder inte referensen alls, men vissa äldre verktyg som inte kan läsa den underliggande filen från sysfs kan använda den. Endast root-användaren kan läsa referensen (se --output +REF) och den är begränsad till 64 byte.

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

Ta bort angivna loop-enheter. Loop-enheten måste vara oanvänd (inte kopplad till någon underliggande fil). Flaggan tar bort enhetsnoden från systemet. I de flesta fall räcker --detach för normal användning. Se avsnittet LOOP-ENHETENS LIVSCYKEL nedan.

-h, --help

Visa hjälptext och avsluta.

-V, --version

Visa version och avsluta.

LOOP-ENHETENS LIVSCYKEL

Loop-enheter genomgår flera tillstånd under sin livscykel:

Skapande

När losetup kopplar en loop-enhet till en underliggande fil skapas enhetsnoden (t.ex. /dev/loop0) automatiskt om den inte redan finns. Detta sker vid behov när du använder flaggor som -f eller anger en loop-enhet explicit. Enheten skapas med ioctl-anropet LOOP_CTL_ADD.

Lösgöring

Flaggan -d (--detach) kopplar loss den underliggande filen från loop-enheten med ioctl-anropet LOOP_CLR_FD. Därefter finns loop-enhetsnoden kvar i /dev och kan återanvändas för en annan underliggande fil. Använd lsblk -a för att se alla loop-enhetsnoder, även oanvända.

Borttagning

Flaggan --remove tar bort loop-enhetsnoden helt från systemet med ioctl-anropet LOOP_CTL_REMOVE. Enheten måste först lösgöras (så att ingen underliggande fil är kopplad till den). Efter borttagningen försvinner enhetsnoden från /dev.

ENCRYPTION

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

AVSLUTSSTATUS

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.

ANMÄRKNINGAR

Sedan version 2.37 använder losetup LOOP_CONFIGURE ioctl för att konfigurera en ny loop-enhet med ett ioctl-anrop. De gamla versionerna använder LOOP_SET_FD och LOOP_SET_STATUS64 ioctls för att göra samma sak.

MILJÖ

LOOPDEV_DEBUG=all

aktiverar felsökningsutmatning.

LIBSMARTCOLS_DEBUG=all

aktiverar libsmartcols felsökningsutdata.

LIBSMARTCOLS_DEBUG_PADDING=on

använda synliga utfyllnadstecken.

FILER

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

enheter för slingblock

/dev/loop-kontroll

kontrollenhet för slinga

EXEMPEL

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

UPPHOVSPERSONER

Karel Zak <kzak@redhat.com>, baserad på originalversionen från Theodore Ts’o <tytso@athena.mit.edu>.

FELRAPPORTERING

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

TILLGÄNGLIGHET

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-09-25 util-linux 2.42.4