Scroll to navigation

MKSWAP(8) Administracja systemem 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 systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.

DOSTĘPNOŚĆ

Polecenie mkswap jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2025-04-02 util-linux 2.41