losetup - configurează și controlează
dispozitivele de buclă
Obține informații:
losetup [dispozitiv-buclă]
losetup -l [-a]
losetup -j fișier [-o
poziția]
Detașează un dispozitiv de buclă:
losetup -d dispozitiv-buclă ...
Detașează toate dispozitivele de buclă
asociate:
losetup -D
Configurează un dispozitiv de buclă:
losetup [-o poziția]
[--sizelimit dimensiunea] [--sector-size
dimensiunea] [--loop-ref nume] [-Pr]
[--show] -f|fișier dispozitiv-buclă
Redimensionează un dispozitiv de buclă:
losetup -c dispozitiv-buclă
losetup este utilizat pentru a asocia dispozitive de
buclă cu fișiere obișnuite sau dispozitive de bloc,
pentru a detașa dispozitive de buclă și pentru a
interoga starea unui dispozitiv de buclă. Dacă se
furnizează doar argumentul dispozitiv-buclă, se
afișează starea dispozitivului de buclă
corespunzător. Dacă nu se dă nicio opțiune, sunt
afișate toate dispozitivele de buclă.
Rețineți că vechiul format de ieșire
(adică losetup -a) cu șiruri de caractere delimitate
prin virgule este depreciat în favoarea formatului de ieșire
--list.
Este posibil să se creeze mai multe dispozitive de
buclă independente pentru același fișier suport.
Această configurație poate fi periculoasă, poate
cauza pierderi de date, corupție și suprascrieri.
Folosiți --nooverlap cu --find în timpul
configurării pentru a evita această problemă.
Configurarea dispozitivului în buclă nu este o
operație atomică atunci când este utilizată cu
--find, iar losetup nu protejează această
operație prin nici un sistem de blocare. Numărul de
încercări este restricționat intern la un maxim de 16.
Se recomandă să se utilizeze, de exemplu, flock(1)
pentru a evita o coliziune în cazurile de utilizare foarte
paralelă.
Argumentele dimensiunea și poziția pot
fi urmate de sufixele multiplicative KiB (=1024), MiB (=1024*1024),
și așa mai departe pentru GiB, TiB, PiB, EiB, ZiB și
YiB („iB” este opțional, de exemplu, „K”
are aceeași semnificație ca și „KiB”),
sau sufixele KB (=1000), MB (=1000*1000) și așa mai departe
pentru GB, TB, PB, EB, ZB și YB.
-a, --all
Afișează starea tuturor dispozitivelor de
buclă. Rețineți că nu toate informațiile
sunt accesibile pentru utilizatorii non-root. A se vedea și
--list. Vechiul format de ieșire (așa cum este
afișat fără --list) este depreciat.
-d, --detach dispozitiv-buclă...
Detașează fișierul sau dispozitivul
asociat cu dispozitivul (dispozitivele) de buclă specificat(e).
Rețineți că, începând cu Linux v3.7,
nucleul utilizează „distrugerea leneșă a
dispozitivelor”. Operația de detașare nu mai
returnează eroarea EBUSY dacă dispozitivul este utilizat
în mod activ de sistem, dar este marcat prin fanionul
„autoclear” și distrus ulterior. Chiar dacă
dispozitivul nu este utilizat, dispozitivul buclă poate fi distrus
ulterior. Dacă trebuie să așteptați o eliminare
completă a dispozitivului de buclă, apelați udevadm
settle după losetup.
-D, --detach-all
Detașează toate dispozitivele de
buclă asociate.
-f, --find [fișier]
Găsește primul dispozitiv de buclă
neutilizat. Dacă este prezent un argument fișier, se
utilizează dispozitivul găsit ca dispozitiv de buclă.
În caz contrar, se afișează doar numele acestuia.
--show
Afișează numele dispozitivului de
buclă atribuit dacă sunt prezente opțiunea -f
și un argument fișier.
-L, --nooverlap
Verifică dacă există conflicte
între dispozitivele de buclă pentru a evita situația
în care același fișier de rezervă este partajat
între mai multe dispozitive de buclă. Dacă
fișierul este deja utilizat de un alt dispozitiv, se
reutilizează acest dispozitiv în loc să se creeze unul
nou. Opțiunea are sens numai cu --find.
-j, --associated fișier [-o
poziția]
Afișează starea tuturor dispozitivelor de
buclă asociate cu fișierul dat.
-o, --offset poziția
Începutul datelor este mutat poziție
octeți în fișierul sau dispozitivul specificat.
poziția poate fi urmată de sufixe multiplicative; a se
vedea mai sus.
--loop-ref șir
Stabilește șirul de
referință. Valoarea implicită retrocompatibilă
este de a utiliza numele fișierului de copie de rezervă ca
referință în apelul ioctl de configurare a buclei (aka
nume_fișier_lo). Această opțiune poate suprascrie acest
comportament implicit și poate stabili referința la
șir. Referința poate fi utilizată de
«udevd» în „/dev/loop/by-ref”. Nucleul
Linux nu utilizează deloc referința, dar ar putea fi
utilizată de unele utilități vechi care nu pot citi
fișierul de copie de rezervă din sysfs. Referința poate
fi citită numai de utilizatorul root (a se vedea --output +REF)
și este limitată la 64 de octeți.
--sizelimit dimensiunea
Sfârșitul datelor este fixat la cel mult
dimensiunea octeți după începutul datelor.
dimensiunea poate fi urmată de sufixe multiplicative; a se vedea
mai sus.
-b, --sector-size dimensiunea
Stabilește dimensiunea sectorului logic al
dispozitivului de buclă în octeți (de la Linux 4.14).
Opțiunea poate fi utilizată la crearea unui nou dispozitiv de
buclă, precum și ca o comandă de sine
stătătoare pentru a modifica dimensiunea sectorului unui
dispozitiv de buclă deja existent.
-c, --set-capacity
dispozitiv-buclă
Forțează controlorul de buclă
să recitească dimensiunea fișierului asociat cu
dispozitivul de buclă specificat.
-P, --partscan
Forțează nucleul să scaneze tabelul
de partiții pe un dispozitiv de buclă nou creat.
Rețineți că analizarea tabelului de partiții
depinde de dimensiunile sectoarelor. În mod implicit, dimensiunea
sectorului este de 512 octeți, în caz contrar trebuie să
utilizați opțiunea --sector-size împreună
cu --partscan.
-r, --read-only
Configurează un dispozitiv de buclă
numai-pentru-citire.
--direct-io[=on|off]
Activează sau dezactivează In/Ieș
directă pentru fișierul de rezervă. Valoarea
implicită este off. Dacă se specifică fie
--direct-io, fie --direct-io=on, se activează. Dar se
poate furniza --direct-io=off pentru a o dezactiva în mod
explicit.
-v, --verbose
Modul super-descriptiv.
-l, --list
Dacă se specifică un dispozitiv de
buclă sau opțiunea -a, se afișează
coloanele implicite fie pentru dispozitivul de buclă specificat, fie
pentru toate dispozitivele de buclă; valoarea implicită este de
a afișa informații despre toate dispozitivele. A se vedea, de
asemenea, --output, --noheadings, --raw și
--json.
-O, --output coloana[,coloana]...
Specifică coloanele care urmează să
fie afișate pentru ieșirea --list. Utilizați
--help pentru a obține o listă cu toate coloanele
acceptate.
--output-all
Afișează toate coloanele disponibile.
-n, --noheadings
Nu afișează titlurile pentru formatul de
ieșire --list.
--raw
Utilizează formatul de ieșire brut
--list.
-J, --json
Utilizează formatul JSON pentru ieșirea
--list.
Cryptoloop nu mai este acceptat în favoarea
dm-crypt. Pentru mai multe detalii, consultați
cryptsetup(8).
losetup returnează 0 în caz de succes,
diferit de zero în caz de eșec. Atunci când
losetup afișează starea unui dispozitiv în
buclă, acesta returnează 1 dacă dispozitivul nu este
configurat și 2 dacă a apărut o eroare care a
împiedicat determinarea stării dispozitivului.
Începând cu versiunea 2.37, losetup
utilizează ioctl LOOP_CONFIGURE pentru a configura un nou
dispozitiv de buclă printr-un singur apel ioctl. Versiunile vechi
folosesc ioctlurile LOOP_SET_FD și LOOP_SET_STATUS64
pentru a face același lucru.
LOOPDEV_DEBUG=all
activează ieșirea de depanare.
/dev/loop[0..N]
dispozitive de bloc buclă
/dev/loop-control
dispozitiv de control al buclei
Următoarele comenzi pot fi folosite ca exemplu de utilizare
a dispozitivului de buclă.
# 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>, pe baza versiunii
originale de la Theodore Ts’o
<tytso@athena.mit.edu>.
Pentru rapoarte de eroare, folosiți sistemul de
urmărire al erorilor
<https://github.com/util-linux/util-linux/issues>.
Comanda losetup face parte din pachetul util-linux care
poate fi descărcat de la Linux Kernel Archive
<https://www.kernel.org/pub/linux/utils/util-linux/>.