LOSETUP(8)

NAZWA
losetup - konfiguruje i steruje urządzeniami pętli (loop)

SKŁADNIA

Konfigurowanie urządzenia pętli:

losetup [opcje] -f|urządzenie-pętli plik

Pobieranie informacji:

losetup [-l] [-a|urządzenie-pętli]

losetup -j plik [-o przesunięcie]

Ponowna kalibracja rozmiaru urządzenia pętli:

losetup -c urządzenie-pętli

Odłączenie urządzeń pętli:

losetup -d urządzenie-pętli ...

losetup -D

Zapobieganie wypisywaniu urządzeń pętli:

losetup --remove urządzenie-pętli ...

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.

Dla tego samego powiązanego pliku można utworzyć wiele niezależnych urządzeń pętli. Taka konfiguracja może być niebezpieczna, spowodować utratę danych, ich uszkodzenie lub nadpisanie. Aby uniknąć tego problemu, podczas konfiguracji należy korzystać z opcji --nooverlap wraz z --find.

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
    Ustawia łańcuch odniesienia. Domyślnie, i zgodnie wstecznie, używa się nazwy powiązanego pliku jako odniesienia w ioctl konfigurującym pętlę (inaczej lo_file_name). Ta opcja przesłania opisane zachowanie domyślne i ustawia odniesienie na łańcuch. Odniesienie może być użyte przez udevd w /dev/loop/by-ref. Jądro Linux nie używa tego odniesienia, lecz mogą się nim posłużyć pewne starsze narzędzia, które nie potrafią odczytać powiązanego pliku z sysfs. Odniesienie może odczytać tylko użytkownik root (zob. --output +REF) i jest ograniczone do 64 bajtów.

--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 urządzenie-pętli...
    Usuwa podane urządzenia pętli zwrotnej. Urządzenie pętli nie może być używane (nie może być powiązane z jakimś plikiem). Opcja usuwa węzeł urządzenia z systemu. W większości przypadków, wystarczające jest stosowanie --detach. Zob. poniższy rozdział CYKL ISTNIENIA URZĄDZENIA PĘTLI ZWROTNEJ.

-h, --help
    Wyświetla ten tekst i wychodzi.

-V, --version
    Wyświetla wersję i wychodzi.

CYKL ISTNIENIA URZĄDZENIA PĘTLI ZWROTNEJ

Urządzenia pętli zwrotnej przechodzą przez kilka stanów w trakcie swego istnienia:

Tworzenie
    Gdy losetup kojarzy urządzenie pętli z odpowiadającym mu plikiem, automatycznie tworzy węzeł urządzenia (np. /dev/loop0), jeśli taki jeszcze nie istnieje. Dzieje się to na żądanie, jeśli podało się opcję taką jak -f albo gdy podało się bezpośrednio urządzenie pętli. Urządzenie jest tworzone za pomocą kontrolki systemowej (ioctl) LOOP_CTL_ADD.

Odłączenie
    Opcja -d (--detach) odłącza urządzenie pętli od odpowiadającego mu pliku za pomocą ioctl LOOP_CLR_FD. Po odłączeniu, węzeł urządzenia pętli pozostaje w /dev i może być użyty ponownie z innych plikiem. Polecenie lsblk -a pokaże wszystkie węzły urządzeń pętli, w tym nieużywane.

Usunięcie
    Opcja --remove całkowicie usuwa węzeł urządzenia pętli z systemu za pomocą ioctl LOOP_CTL_REMOVE. Urządzenie musi być uprzednio rozłączone (nie może być powiązane z żadnym plikiem). Po usunięciu, węzeł urządzenia znika z /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

Od wersji 2.37, losetup korzysta z ioctl LOOP_CONFIGURE do skonfigurowania nowego urządzenia pętli, za pomocą pojedynczego wywołania ioctl. Starsze wersje używały do tego samego celu ioctl: LOOP_SET_FD i LOOP_SET_STATUS64.

ŚRODOWISKO

LOOPDEV_DEBUG=all
    włącza wyjście debugowania.

LIBSMARTCOLS_DEBUG=all
    włącza wyjście debugowania libsmartcols.

LIBSMARTCOLS_DEBUG_PADDING=on
    używa widocznych znaków wypełnienia.

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

korzystając z pierwotnej wersji

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

Polecenie losetup jest częścią pakietu util-linux, który można pobrać ze strony