MKSWAP(8)

НАЗВА
mkswap - налаштовування області резервної пам'яті Linux

КОРОТКИЙ ОПИС

mkswap [параметри] пристрій [блоки]

mkswap [параметри] --size розмір --file файл

ОПИС

mkswap налаштовує область резервної пам’яті Linux на пристрої або у файлі.

Аргументом пристрій, зазвичай, є розділ диска (щось подібне до /dev/sdb7), але ним може бути і файл. Ядро Linux не обробляє ідентифікатори розділів, але у багатьох скриптах встановлення припускають, що розділи, що належать до шістнадцяткового типу 82 (LINUX_SWAP), призначено для розділів резервної пам’яті. (Попередження: для розділів Solaris теж використано цей тип. Будьте обережні, щоб не знищити ваші розділи Solaris.)

Параметр блоки є зайвим, але його підтримку збережено з міркувань зворотної сумісності. (Він задає бажаний розмір області резервної пам’яті у 1024-байтових блоках. mkswap використовуватиме увесь розділ або файл, якщо параметр не вказано. Не варто його вказувати - малесенька друкарська помилка може знищити вміст вашого диска.)

Після створення області резервної пам’яті, вам слід віддати команду swapon(8), щоб почати нею користуватися. Зазвичай, області резервної пам’яті потрапляють до списку /etc/fstab, отже, система починає ними користуватися під час завантаження після команди swapon -a, яка є частиною скрипту завантаження.

ПОПЕРЕДЖЕННЯ

Заголовок резервної пам’яті не використовує перший блок. Там можуть бути завантажувач або мітка диска, але розміщувати їх там не варто. Рекомендованим є використання окремого розділу для області резервної пам’яті Linux.

mkswap, подібно до багатьох інших mkfs-подібних допоміжних програм, витирає перший блок розділу, щоб зробити будь-які інші попередні файлові системи невидимими.

Втім, mkswap відмовляється витирати перший блок на пристрої із міткою диска (SUN, BSD, ...).

ПАРАМЕТРИ

-c, --check
    Перед створенням області резервної пам’яті перевірити пристрій (якщо це блоковий пристрій) на наявність помилкових блоків. Якщо буде знайдено помилкові блоки, програма виведе дані щодо їхньої кількості.

-F, --file
    Створити файл резервної пам’яті із відповідними правами доступу до файла та заповненими блоками на диску.

-f, --force
    Виконати команду, навіть якщо вона безглузда. Уможливлює створення області резервної пам’яті, розмір якої перевищує розмір файла або розділу, на якому вона зберігається.

    Також, без цього параметра, mkswap відмовлятиметься витирати перший блок на пристрої із таблицею розділів.

-q, --quiet
    Придушити виведення даних і повідомлень із попередженнями.

-L, --label мітка
    Вказати мітку пристрою, щоб уможливити виконання swapon(8) із параметром мітки.

--lock[=режим]
    Use an exclusive BSD lock for the device or file that is operated upon. The optional argument mode can be yes (1), no (0), or nonblock. If the mode argument is omitted, it defaults to yes. This option overrides the environment variable $LOCK_BLOCK_DEVICE. The default is to not use any lock at all, but using a lock is recommended to avoid collisions with systemd-udevd(8) or other tools.

-p, --pagesize розмір
    Вказати розмір сторінки (у байтах). Зазвичай, потреби у визначенні цього параметра немає; mkswap читає розмір з ядра.

-U, --uuid UUID
    Вказати UUID, яким слід скористатися. Типовим є створення UUID. Форматом UUID є послідовності шістнадцяткових цифр, відокремлених дефісами, ось так: «c1b9d5a2-f162-11cf-9ece-0020afc76f16». Параметр UUID також може мати одне з таких значень:

    clear
        очистити UUID файлової системи

    random
        створити новий випадковий UUID

    time
        створити новий UUID на основі позначки часу

-e, --endianness ПОРЯДОКБАЙТІВ
    Вказати ПОРЯДОКБАЙТІВ, яким слід скористатися. Коректні значення native, little та big. Типовим є значення native.

-o, --offset відступ
    Вказати відступ для запису області резервної пам’яті.

-s, --size розмір
    Вказати розмір створеного файла резервної пам’яті у байтах, можна додавати суфікси одиниць KiB (=1024), MiB (=1024*1024) тощо для GiB, TiB, PiB, EiB, ZiB та YiB (частина «iB» є необов’язковою, наприклад, «K» є тим самим, що і «KiB»). Якщо файл вже існує і має розмір, що перевищує розмір, його буде обрізано до вказаного розміру. Цей параметр має сенс, лише якщо його використано разом із --file.

-v, --swapversion 1
    Вказати версію простору резервної пам’яті. (У визначенні цього параметра у сучасних умовах немає сенсу, оскільки старий варіант -v 0 став застарілим, і у поточних умовах передбачено підтримку лише -v 1. У ядрі не передбачено підтримки формату простору резервної пам’яті версії 0 з часу випуску версії 2.5.22 (червень 2002 року). Підтримку нової версії 1 передбачено з версії 2.1.117 (серпень 1998 року).)

--verbose
    Режим докладних повідомлень. З цим параметром mkswap виводитиме докладніші повідомлення щодо виявлених проблем під час налаштовування області резервної пам’яті.

-h, --help
    Вивести текст довідки і завершити роботу.

-V, --version
    Показати дані щодо версії і завершити роботу.

СЕРЕДОВИЩЕ

LIBBLKID_DEBUG=all
    вмикає показ діагностичних повідомлень libblkid.

LOCK_BLOCK_DEVICE=<режим>
    використати виключне блокування BSD. Режимом може бути «1» або «0». Див. --lock, щоб дізнатися більше.

ЗАУВАЖЕННЯ

Максимальний корисний розмір області резервної пам’яті залежить від архітектури і версії ядра системи.

Максимальна кількість сторінок, які можна адресувати у заголовку області резервної пам’яті дорівнює 4294967295 (максимальне значення 32-бітового цілого числа без знаку). Решту місця на пристрої резервної пам’яті буде проігноровано.

У поточних версіях Linux уможливлює використання 32 областей резервної пам’яті. Області резервної пам’яті можна переглядати у файлі /proc/swaps.

mkswap відмовиться працювати із областями, які є меншими за 10 сторінок.

Якщо вам не відомий розмір сторінки, який використано у вашій системі, ви можете ознайомитися із ним за допомогою команди getconf PAGESIZE.

Окрім mkswap --file, також можна створити файл резервної пам’яті вручну до ініціалізації його за допомогою mkswap, наприклад, за допомогою командного рядка

З версії 2.41, mkswap --file встановлює атрибут nocow для новостворених файлів з метою забезпечення підтримки файлів резервної пам’яті на Btrfs.

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

для створення файла резервної пам’яті розміром у 8 ГіБ.

У такому випадку, будь ласка, ознайомтеся із зауваженнями на сторінці підручника swapon(8) щодо обмежень використання файла резервної пам’яті (дірки, попередній розподіл і проблеми із копіюванням при записі).

ТАКОЖ ПЕРЕГЛЯНЬТЕ

fdisk(8), swapon(8)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся

ДОСТУП ДО ПРОГРАМИ

Програма mkswap є частиною пакунка util-linux, який можна отримати з