Provided by:
manpages-fr-extra_20080921_all 
NOM
mkswap - Créer une zone d’échange (swap) Linux.
SYNOPSIS
mkswap [-c] [-vN] [-f] [-p TAILLE_PAGE] [-L étiquette] [-U uuid]
périphérique [taille]
DESCRIPTION
mkswap crée une zone de swap Linux sur un périphérique ou dans un
fichier.
(Après avoir créé la zone de swap, vous aurez besoin de la commande
swapon pour l’utiliser. Habituellement les zones de swap sont listées
dans le fichier /etc/fstab afin qu’elles puissent être utilisées au
démarrage par la commande swapon -a dans un script).
Le paramètre périphérique sera normalement une partition du disque dur
(quelque chose comme /dev/hda4 ou /dev/sdb7) mais peut aussi être un
fichier. Le noyau Linux ne regarde pas le type 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 de
swap. (Attention : Solaris utilise aussi le type 82 ; prenez garde de
ne pas supprimer vos partitions Solaris).
Le paramètre taille est superflu, mais il est conservé pour des raisons
de compatibilité descendante. (Il spécifie la taille désirée de la zone
de swap par blocs de 1024 octets. mkswap utilisera la totalité de la
partition ou du fichier si la taille est omise. La spécifier est
imprudent - une coquille pourrait détruire votre disque).
Le paramètre TAILLE_PAGE spécifie la taille de la page à utiliser. Il
n’est presque jamais nécessaire (voire imprudent) de la spécifier, mais
certaines anciennes versions de libc ne déterminent pas correctement la
taille de la page. Il est alors possible que mkswap en prenne une
mauvaise. Si tel est le cas, un swapon ultérieur échouera parce qu’il
n’aura pas trouvé la signature de la swap. Les valeurs caractéristiques
de TAILLE_PAGE sont 4096 ou 8192.
Linux connaît deux sortes de zones de swap : les anciennes et les
nouvelles. Les 10 derniers octets de la première page de la zone de
swap les distinguent les unes des autres : les anciennes ont
« SWAP_SPACE », alors que les nouvelles ont « SWAPSPACE2 » comme
signature.
Dans l’ancien style, le reste de cette première page contient une carte
de bits, avec 1 bit pour chaque page utilisable de la zone de swap.
Comme la première page contient la carte des bits, le premier bit est
0. De la même façon, les 10 derniers octets contiennent la signature.
Donc, si la taille de la page est T, une ancienne zone de swap peut
décrire au plus 8*(T-10)-1 pages pour swapper. Avec T=4096 (comme sur
un i386), la zone utilisable est au maximum de 133890048 octets
(environ 128 Mo), et le reste sera inutilisable. Sur alpha et sparc64,
avec T=8192, la zone utilisable est au maximum de 535560992 octets
(environ 512 Mo).
L’ancienne installation gaspille une grande partie de cette page. En
effet, les bits à zéro signifient aussi bien des blocs défectueux que
des blocs situés après la fin de l’espace de swap, alors que la taille
de l’espace de swap pourrait être indiquée par un entier et les blocs
défectueux, s’il y en a, simplement listés. Il est clair, que personne
ne souhaite utiliser un espace de swap avec des centaines de mauvais
blocs. (D’ailleurs, je ne voudrais même pas utiliser un espace de swap
avec 1 seul bloc défectueux). Avec les zones de swap de style nouveau
c’est précisément ce qui est fait.
La taille maximale utilisable de la zone de swap dépend de
l’architecture et de la version du noyau. C’est approximativement 2 Gio
sur i386, PPC, m68k, ARM, 1Gio sur sparc, 512 Mio sur mips, 128 Gio sur
alpha et 3 Tio sur sparc64. Pour les noyaux ultérieurs à 2.3.3, il n’y
a pas de telle limitation.
Notez qu’avant la version 2.1.117, le noyau allouait un octet pour
chaque page, alors que, maintenant, il en alloue deux. Ainsi une zone
de swap de 2 Go en cours d’utilisation pourra nécessiter 2 Mo de
mémoire du noyau.
Actuellement, Linux autorise 32 zones de swap (elles étaient 8 avant le
noyau Linux 2.4.10). Les zones en cours d’utilisation peuvent être vues
dans le fichier /proc/swaps (depuis 2.1.25).
mkswap refuse les zones de taille inférieure à 10 pages.
Si vous ne connaissez pas la taille des pages que votre machine
utilise, vous pouvez la voir avec « cat /proc/cpuinfo » (le contenu de
ce fichier dépendant de l’architecture et de la version du noyau, il
est possible que vous n’ayez pas accès à cette information).
Pour installer un fichier de swap, 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_swap bs=1024 count=65536
Notez qu’un fichier de swap ne doit contenir aucun trou (par
conséquent, utiliser cp(1) pour créer le fichier n’est pas acceptable).
OPTIONS
-c Teste le périphérique (si c’est un périphérique bloc) pour
découvrir les blocs défectueux avant de créer une zone de swap.
S’il en trouve, leur nombre est affiché.
-f Force - exécute la commande, même si elle est stupide. Ceci
autorise la création d’une zone de swap plus grosse que le
fichier ou la partition sur laquelle elle réside. Sur SPARC,
cette commande force la création de la zone de swap. Sans cette
option mkswap refusera de créer une zone de swap de type v0 sur
un périphérique avec un superbloc SPARC valide, considérant que
l’on est probablement en train d’effacer la table des
partitions.
-p TAILLE_PAGE
Spécifie la taille de la page à utiliser.
-L étiquette
Spécifie une étiquette, pour permettre l’utilisation de swapon
avec cette étiquette. (Uniquement pour le nouveau style de zone
swap).
-v0 Crée une zone de swap ancien style.
-v1 Crée une zone de swap nouveau style.
Si l’option -v n’est pas passée, mkswap utilisera par défaut le nouveau
style, mais utilisera l’ancien style si le noyau courant est antérieur
à la version 2.1.117 (et également si PAGE_SIZE est inférieur à 2048).
L’en-tête du nouveau style ne touche pas au premier bloc, qui doit donc
être préféré, dans le cas où vous avez un chargeur de démarrage ou une
étiquette de disque à cet endroit. Si vous avez besoin d’utiliser les
noyaux 2.0 et 2.2, utilisez l’option -v0 lorsque vous créerez votre
espace de swap.
La version 0 (-v0) du format des espace de swap n’est plus gérée Ã
partir des noyaux 2.5.
-U uuid
Spécifie l’uuid à utiliser.
VOIR AUSSI
fdisk(8), swapon(8)
DISPONIBILITÉ
La commande mkswap fait partie du paquet util-linux-ng, elle est
disponible sur ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
TRADUCTION
Cette page de manuel a été traduite par Jérôme Perzyna en 2004. La
version présente dans Debian est maintenue par les membres de la liste
<debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler
toute erreur de traduction par un rapport de bogue sur le paquet
manpages-fr-extra.