NAZWA¶
losetup - konfiguruje i steruje urządzeniami pętli
(loop)
SKŁADNIA¶
Konfigurowanie urządzenia pętli:
losetup [options] -f|loopdev file
Pobieranie informacji:
losetup [-l] [-a|loopdev]
losetup -j plik [-o
przesunięcie]
Recalibrate the size of a loop device:
losetup -c urządzenie-pętli
Detach loop devices:
losetup -d urządzenie-pętli
...
losetup -D
Prevent loop devices from getting listed:
losetup --remove loopdev ...
OPIS¶
losetup służy do kojarzenia
urządzeń pętli (loop) z plikami zwykłymi lub
urządzeniami blokowymi, do odłączania
urządzeń pętli i sprawdzania ich stanu. Jeżeli
podano tylko argument urządzenie-pętli, to pokazywany
jest stan odpowiedniego urządzenia pętli. Jeśli nie
podano żadnej opcji, to wyświetlane są wszystkie
urządzenia pętli.
Proszę zauważyć, że stary format
wyjściowy (tj. losetup -a), z łańcuchami
znaków oddzielonymi od siebie przecinkami, jest przestarzały.
Zamiast niego preferowanym formatem jest format --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.
Konfiguracja urządzenia pętli nie jest
operacją niepodzielną, gdy korzysta się z opcji
--find, a losetup nie chroni tej operacji żadną
blokadą. Liczba prób jest wewnętrznie ograniczona do
16. Zaleca się korzystanie np. z flock(1), aby
uniknąć kolizji w przypadku intensywnego korzystania
równoległego.
OPCJE¶
Po argumentach rozmiar i przesunięcie
mogą występować przyrostki oznaczające
wielokrotność: KiB (=1024), MiB (=1024*1024), itd. dla GiB,
TiB, PiB, EiB, ZiB i YiB (cząstka "iB" jest opcjonalna,
tzn. np. "K" znaczy to samo co "KiB") lub przyrostki KB
(=1000), MB (=1000*1000), itd. dla GB, TB, PB, EB, ZB i YB.
-a, --all
Wyświetla stan wszystkich urządzeń
pętli. Proszę zauważyć, że nie wszystkie
informacje są dostępne dla użytkowników
niebędących administratorami. Patrz także --list.
Stary format wyjściowy (wypisywany, jeśli nie podano
--list) jest niezalecany.
-d, --detach
urządzenie-pętli...
Odłącza plik lub urządzenie
związane z podanym(i) urządzeniem(-ami) pętli.
Proszę zauważyć, że Linux od v3.7 korzysta z
"leniwego niszczenia urządzeń". Operacja
odłączenia nie zwróci obecnie błędu
EBUSY, gdy urządzenie jest aktywnie używane przez system,
lecz jest znakowane znacznikiem automatycznego wyczyszczenia i jest niszczone
później. Nawet jeśli urządzenie nie jest
używane, urządzenie pętli może zostać
zniszczone dopiero później. Jeśli konieczne jest
poczekanie na całkowite usunięcie urządzenia
pętli, po losetup należy wywołać udevadm
settle.
-D, --detach-all
Odłącza wszystkie przypisane
urządzenia pętli.
-f, --find [plik]
Szuka pierwszego nieużywanego urządzenia
pętli. Jeśli podano argument plik, to używa tego
znalezionego urządzenia jako urządzenia pętli. W
przeciwnym wypadku wyświetla jego nazwę.
--show
Wyświetla nazwę przypisanego
urządzenia pętli, jeśli podano opcję -f i
argument plik.
-L, --nooverlap
Sprawdza pod kątem konfliktów, aby
uniknąć sytuacji, gdy ten sam powiązany plik jest
dzielony pomiędzy większą liczbą
urządzeń pętli. Jeśli plik jest już
używany przez inne urządzenie, to zamiast użyć
nowego, program skorzysta ponownie z istniejącego urządzenia.
Opcja ma sens tylko w połączeniu z --find.
-j, --associated plik [-o
przesunięcie]
Wyświetla stan wszystkich urządzeń
pętli skojarzonych z podanych plikiem.
-o, --offset przesunięcie
Początek danych przesuwany jest o
przesunięcie bajtów podanego pliku lub urządzenia.
Po przesunięciu można podać przyrostki
oznaczające wielokrotność; zob. wyżej.
--loop-ref łańcuch
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 rozmiar
Koniec danych jest ustawiany na nie więcej
niż rozmiar bajtów, licząc od początku
danych. Po rozmiarze można podać przyrostki
oznaczające wielokrotność; zob. wyżej.
-b, --sector-size rozmiar
Ustawia rozmiar sektora logicznego urządzenia
pętli w bajtach (od Linuksa 4.14). Opcję można
podać przy tworzeniu nowego urządzenia pętli, jak
również jako samodzielne polecenie, służące
do modyfikacji rozmiaru sektora istniejącego urządzenia
pętli.
-c, --set-capacity
urządzenie-pętli
Wymusza na sterowniku pętli ponowne odczytanie
rozmiaru pliku skojarzonego z podanym urządzeniem pętli.
-P, --partscan
Zmusza jądro do przeskanowania tablicy partycji na
tworzonym urządzeniu pętli. Proszę
zauważyć, że przetwarzanie tablicy partycji jest
zależne od rozmiarów sektora. Domyślnym rozmiarem sektora
są 512 bajty, w innych przypadkach konieczne jest użycie opcji
--sector-size łącznie z --partscan.
-r, --read-only
Konfiguruje urządzenie pętli jako tylko do
odczytu.
--direct-io[=on|off]
Włącza lub wyłącza
bezpośredni dostęp wejścia/wyjścia do
powiązanego pliku. Domyślnym ustawieniem jest
wyłączenie (off). Podanie --direct-io lub
--direct-io=on włączy tę opcję. Aby jawnie
ją wyłączyć, można podać
--direct-io=off.
-l, --list
Jeśli podano urządzenie loop lub
opcję -a, to wyświetla domyślne kolumny albo dla
podanego urządzenia, albo dla wszystkich urządzeń loop.
Domyślnie wyświetla informacje o wszystkich urządzeniach.
Patrz także --output, --noheadings --raw oraz
--json.
-O, --output kolumna[,kolumna]...
Określa kolumny, które będą
wypisane przez opcję --list. Opcja --help wypisze
listę wszystkich obsługiwanych kolumn.
--output-all
Wypisuje wszystkie dostępne kolumny.
-n, --noheadings
Nie wyświetla nagłówków w
wyjściu formatu opcji --list.
--raw
Używa surowego formatu wyjściowego w
--list.
-J, --json
Używa formatu JSON w wyjściu
--list.
--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
Wyświetla ten tekst i wychodzi.
-V, --version
Wyświetla wersję i wychodzi.
LOOP DEVICE LIFECYCLE¶
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.
SZYFROWANIE¶
Cryptoloop jest przestarzały, zamiast niego zalecany
jest dm-crypt. Szczegóły można
znaleźć w podręczniku cryptsetup(8).
STATUS ZAKOŃCZENIA¶
losetup zwraca 0, jeśli zakończyło
się pomyślnie, a wartość niezerową w
przypadku błędu. Gdy losetup wyświetla stan
urządzenia pętli, to zwraca 1, jeśli urządzenie
nie jest skonfigurowane, lub 2, gdy wystąpił
błąd uniemożliwiający określenie stanu
urządzenia.
UWAGI¶
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.
ŚRODOWISKO¶
LOOPDEV_DEBUG=all
włącza wyjście debugowania.
PLIKI¶
/dev/loop[0..N]
urządzenia blokowe pętli
/dev/loop-control
urządzenie kontrolne pętli
PRZYKŁAD¶
Jako przykład użycia urządzenia loop
posłużą poniższe polecenia:
# dd if=/dev/zero of=~/plik.img bs=1024k count=10
# losetup --find --show ~/plik.img
/dev/loop0
# mkfs -t ext2 /dev/loop0
# mount /dev/loop0 /mnt
...
# umount /dev/loop0
# losetup --detach /dev/loop0
AUTORZY¶
Karel Zak <kzak@redhat.com>, korzystając z
pierwotnej wersji Theodore’a Ts’o
<tytso@athena.mit.edu>.