MKSWAP(8)

NAZWA
mkswap - konfiguruje linuksowy obszar wymiany

SKŁADNIA

mkswap [opcje] urządzenie [bloki]

mkswap [opcje] --size rozmiar --file plik

OPIS

mkswap konfiguruje linuksowy obszar wymiany na urządzeniu lub w pliku.

Argument urządzenie zwykle jest partycją dyskową (czymś w stylu /dev/sdb7), lecz może być również plikiem. Jądro Linux nie zważa na identyfikatory partycji, lecz wiele skryptów instalacyjnych zakłada, że partycje typu (szesnastkowo) 82 (LINUX_SWAP) są partycjami wymiany. (Uwaga: Solaris również używa tego typu. Proszę uważać, aby nie zniszczyć swoich partycji solarisowych.)

Parametr bloki jest niepotrzebny, lecz został zachowany w celu zgodności wstecznej. Określa on potrzebny rozmiar wymiany w blokach 1024-bajtowych. mkswap w przypadku pominięcia tego parametru używa całej partycji lub całego pliku. Podawanie tego parametru jest niemądre - literówka może zniszczyć dysk.

Po utworzeniu obszaru wymiany, konieczne jest użycie polecenia swapon(8), aby go aktywować. Obszary wymiany są zwykle uwzględniane w /etc/fstab, więc mogą być włączane do użytku podczas rozruchu poleceniem swapon -a, w jakimś skrypcie startowym.

OSTRZEŻENIE

Nagłówek obszaru wymiany nie używa pierwszego bloku. Może znajdować się tam program rozruchowy lub etykieta partycji, ale nie jest to polecane ustawienie. Zalecaną konfiguracją linuksowej przestrzeni wymiany jest użycie oddzielnej partycji.

mkswap, podobnie jak wiele innych narzędzi mkfs, usuwa pierwszy blok partycji aby ukryć istniejący wcześniej system plików.

mkswap odmówi jednak usunięcia pierwszego bloku urządzenia na urządzeniu z etykietą dysku (SUN, BSD, ... - nie mylić z etykietą partycji).

OPCJE

-c, --check
    Sprawdza urządzenie (jeśli jest urządzeniem blokowym) w poszukiwaniu uszkodzonych bloków przed utworzeniem obszaru wymiany. Jeśli znajdzie uszkodzone bloki, wypisze ich liczbę.

-F, --file
    Tworzy plik wymiany, z odpowiednimi uprawnieniami plików i utworzonymi blokami na dysku.

-f, --force
    Wymusza działanie, nawet jeśli polecenie jest idiotyczne. Umożliwia to utworzenie obszaru wymiany większego niż plik lub partycja, na którym się ono znajduje.

    Poza tym, bez tej opcji, mkswap odmówi usunięcia pierwszego bloku na urządzeniu z tablicą partycji.

-q, --quiet
    Wyłącza wyświetlanie wyników i ostrzeżeń.

-L, --label etykieta
    Określa etykietę urządzenia, pozwalając wykonać swapon(8) przez podanie etykiety.

--lock[=tryb]
    Używa blokady na wyłączność BSD do urządzeń i plików na których działa. Opcjonalnym argumentem tryb może być yes, no (albo 1 lub 0) lub też nonblock. Jeśli nie poda się trybu, domyślną wartością jest yes. Opcja ta przesłania zmienną środowiskową $LOCK_BLOCK_DEVICE. Choć domyślnie nie jest używana żadna blokada, zaleca się jej użycie aby uniknąć kolizji z systemd-udevd(8) i innymi narzędziami.

-p, --pagesize rozmiar
    Określa rozmiar (w bajtach) używanej strony. Podanie tej opcji jest zwykle niepotrzebne - mkswap odczyta odpowiedni rozmiar z jądra.

-U, --uuid UUID
    Określa uniwersalny, unikatowy identyfikator (universally unique identifier - UUID) systemu plików na UUID. Domyślnie UUID jest generowany. UUID składa się z serii cyfr w systemie szesnastkowym, oddzielonych myślnikami, jak np.: "c1b9d5a2-f162-11cf-9ece-0020afc76f16". Parametr UUID może przyjmować też następujące wartości:

    clear
        usuwa UUID systemu plików

    random
        generuje nowy, losowy UUID

    time
        generuje nowy UUID, oparty na czasie

-e, --endianness KOLEJNOŚĆ-BAJTÓW
    Określa KOLEJNOŚĆ-BAJTÓW, jaka będzie stosowana; prawidłowe wartości to: native, little lub big. Domyślną jest native.

-o, --offset przesunięcie
    Określa przesunięcie do zapisania przestrzeni wymiany.

-s, --size rozmiar
    Określa rozmiar tworzonego pliku wymiany w bajtach, po którym mogą występować przyrostki oznaczające wielokrotność: KiB (=1024), MiB (=1024*1024) i tak dalej dla GiB, TiB, PiB, EiB, ZiB oraz YiB (część "iB" jest opcjonalna, na przykład "K" ma to samo znaczenie, co "KiB"). Jeśli plik istnieje i ma rozmiar większy od rozmiaru, zostanie przycięty do podanej wartości. Opcja ta ma sens tylko w połączeniu z --file.

-v, --swapversion 1
    Podaje wersję przestrzeni wymiany. Opcja ta jest obecnie bezużyteczna, jako że dawna opcja -v 0 stała się przestarzała i obecnie obsługiwana jest wyłącznie -v 1. Jądro nie obsługuje przestrzeni wymiany w formacie v0 od wersji 2.5.22 (czerwiec 2002). Nowa wersja v1 jest obsługiwana od jądra 2.1.117 (sierpień 1998).

--verbose
    Więcej informacji. Ta opcja powoduje, że mkswap wypisuje więcej szczegółów o wykrytych problemach przy tworzeniu przestrzeni wymiany.

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

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

ŚRODOWISKO

LIBBLKID_DEBUG=all
    włącza wyjście debugowania libblkid.

LOCK_BLOCK_DEVICE=<tryb>
    używa blokady na wyłączność BSD. Tryb to "1" lub "0". Więcej informacji w opisie opcji --lock.

UWAGI

Maksymalny użyteczny rozmiar obszaru wymiany zależy od architektury i wersji jądra.

Maksymalną liczbą stron możliwych do zaadresowania przez nagłówek obszaru wymiany jest 4294967295 (32-bitowa liczba całkowita bez znaku). Pozostała przestrzeń urządzenia wymiany jest ignorowana.

Aktualnie, Linux pozwala na 32 przestrzenie wymiany. Używane obszary można zobaczyć w pliku /proc/swaps.

mkswap odmówi działania w przypadku przestrzeni wymiany mniejszych niż 10 stron.

Jeśli nie wiadomo jaki rozmiar strony jest używany przez dany komputer, można to sprawdzić poleceniem getconf PAGESIZE.

Oprócz wykonania mkswap --file, można również utworzyć plik wymiany ręcznie, przed zainicjowaniem go za pomocą mkswap, np. korzystając z polecenia w stylu

Od wersji 2.41, mkswap --file ustawia nowo tworzonym plikom atrybut nocow, aby obsługiwać pliki wymiany w systemie plików Btrfs.

    # dd if=/dev/zero of=plik_wymiany bs=1MiB count=$((8*1024))

do utworzenia pliku_wymiany o rozmiarze 8GiB.

W takim przypadku, proszę zapoznać się z uwagami w podręczniku swapon(8), aby dowiedzieć się o ograniczeniach plików wymiany (problemy z: plikami z dziurami, wstępną alokacją, kopiowaniem przy zapisie).

ZOBACZ TAKŻE

fdisk(8), swapon(8)

ZGŁASZANIE BŁĘDÓW

Problemy należy zgłaszać w

DOSTĘPNOŚĆ

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