Scroll to navigation

MKSWAP(8) Administration Système MKSWAP(8)

NOM

mkswap - Créer une zone d'échange (swap) Linux

SYNOPSIS

mkswap [options] périphérique [taille]

DESCRIPTION

mkswap crée une zone d’échange Linux sur un périphérique ou dans un fichier.

Le paramètre périphérique est normalement une partition du disque dur (/dev/sdb7 par exemple) mais peut aussi être un fichier. Le noyau Linux ne regarde pas les identifiants de partition, mais beaucoup de scripts d’installation supposeront que les partitions de type 82 en hexadécimal (LINUX_SWAP) sont, par défaut, des partitions d’échange. (Attention : Solaris utilise aussi le type 82 ; prenez garde de ne pas supprimer les partitions Solaris.)

Le paramètre taille est superflu mais il est conservé pour des raisons de compatibilité ascendante. Il indique la taille désirée de la zone d’échange par blocs de 1024 octets. mkswap utilisera la totalité de la partition ou du fichier si la taille est omise. L’indiquer est imprudent — une coquille pourrait détruire le disque.

Après avoir créé la zone d’échange, vous aurez besoin de la commande swapon(8) pour l’utiliser. Habituellement les zones d’échange sont indiquées dans le fichier /etc/fstab afin qu’elles puissent être utilisées au démarrage par la commande swapon -a dans les scripts de démarrage.

AVERTISSEMENT

L’en-tête de la zone d’échange ne modifie pas le premier bloc. Un chargeur de démarrage ou une étiquette de disque peut y être placé, mais ce n’est pas une configuration recommandée. La configuration recommandée est d’utiliser une partition séparée pour la zone d’échange.

mkswap, comme beaucoup d’autres outils du type mkfs, efface le premier bloc de la partition pour rendre les anciens systèmes de fichiers invisibles.

Cependant, mkswap refuse de supprimer le premier bloc d’un périphérique avec une étiquette de disque (SUN, BSD, etc.).

OPTIONS

-c, --check

Vérifier le périphérique (si c’est un périphérique bloc) pour découvrir les blocs corrompus avant de créer une zone d’échange. Si des blocs corrompus sont trouvés, leur nombre est affiché.

-f, --force

Continuer même si la commande est stupide. Cela permet de créer une zone d’échange plus grande que la taille du fichier ou de la partition dans laquelle elle réside.

Ainsi, sans cette option, mkswap refusera d’effacer le premier bloc d’un périphérique avec une table de partitions.

-q, --quiet

Supprimer la sortie et les messages d’avertissements.

-L, --label étiquette

Indiquer une étiquette de périphérique pour permettre l’utilisation de swapon(8) avec cette étiquette.

--lock[=mode]

Utiliser un verrou BSD exclusif pour le périphérique ou le fichier visé. L’argument facultatif mode peut être yes, no (ou 1 et 0) ou nonblock. Si cet argument est absent, sa valeur par défaut est yes. Cette option écrase la variable d’environnement $LOCK_BLOCK_DEVICE. Le comportement par défaut est de n’utiliser aucun verrou, mais cela est recommandé pour éviter des collisions avec systemd-udevd(8) ou d’autres outils.

-p, --pagesize taille

Indiquer la taille de page (en octet) à utiliser. Cette option est normalement inutile, mkswap lit la taille depuis le noyau.

-U, --uuid UUID

Spécifier le UUID à utiliser. Par défaut, un UUID est généré. Le format du UUID est des séries de chiffres hexadécimaux séparés par des tirets, comme ceci : « c1b9d5a2-f162-11cf-9ece-0020afc76f16 ». Le paramètre UUID peut aussi être l’une de ces valeurs :

clear

effacer le UUID du système de fichiers

random

générer un nouveau UUID aléatoire

time

générer un nouveau UUID basé sur l’heure

-e, --endianness ENDIANNESS

Specify the ENDIANNESS to use, valid arguments are native, little or big. The default is native.

-v, --swapversion 1

Indiquer la version de l’espace d’échange. Cette option ne sert actuellement à rien car l’ancienne option -v 0 est devenue obsolète et que seule -v 1 est prise en charge. Le noyau ne prend plus en charge le format v0 d’espace d’échange depuis la version 2.5.22 (juin 2002). La nouvelle version v1 est prise en charge depuis le noyau 2.1.117 (août 1998).

--verbose

Exécution verbeuse. Avec cette option, mkswap sort plus de détails à propos des problèmes détectés durant la préparation de la zone d’échange.

-h, --help

Afficher l’aide-mémoire puis quitter.

-V, --version

Afficher le numéro de version et quitter.

ENVIRONNEMENT

LIBBLKID_DEBUG=all

Activer la sortie de débogage de libblkid.

LOCK_BLOCK_DEVICE=<mode>

Utiliser un verrou exclusif BSD. Le mode est « 1 » ou « 0 ». Consulter --lock pour davantage de détails.

NOTES

La taille utile maximale d’une zone d’échange dépend de l’architecture et de la version du noyau.

Le nombre maximal de pages qu’il est possible d’adresser avec l’en-tête de la zone d’échange est 4 294 967 295 (entier de 32 bits non signé). L’espace restant dans le périphérique d’échange est ignoré.

Actuellement, Linux autorise 32 zones d’échange. Les zones en cours d’utilisation sont visibles dans le fichier /proc/swaps.

mkswap refuse les zones de taille inférieure à 10 pages.

Si vous ne connaissez pas la taille de page utilisée par votre machine, vous pouvez la découvrir avec getconf PAGESIZE.

Pour installer un fichier d’échange, il est nécessaire de créer ce fichier avant de l’initialiser avec mkswap, par exemple en utilisant une commande comme

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

pour créer un fichier d’échange de 8 GiB.

Veuillez lire les notes dans swapon(8) sur les restrictions d’utilisation de fichier d’échange (trous, préallocation et problèmes de copie sur écriture).

VOIR AUSSI

fdisk(8), swapon(8)

SIGNALER DES BOGUES

Pour signaler un bogue, utilisez le gestionnaire de bogues sur <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

La commande mkswap fait partie du paquet util-linux, elle est disponible sur l’archive du noyau Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.

2023-07-24 util-linux 2.39.1