Lors d’une nouvelle installation d’Ubuntu (depuis 18.04) ou de Linux Mint (depuis 19.x), un fichier swap, à la racine du système, remplace la traditionnelle partition swap. Mais, si vous mettez à jour depuis une ancienne version (comme Ubuntu 16.04 ou Linux Mint 18.x) vers les versions, le système conserve la partition swap. Aussi, voici comment passer d’une partition swap à un fichier swap sous Linux (Ubuntu, Linux Mint, Debian,…).
Table des matières
Quelques précisions sur le fichier swap sous Linux
Le swap est un espace d’échange qui sert à étendre votre mémoire vive (RAM) dans un fichier ou une partition sur un disque dur.
Sous Linux, historiquement, il fallait créer une partition pour cet espace, car cette dernière donnait de meilleures performances que le fichier. Mais depuis la sortie du noyau Linux 2.6, les performances des deux sont équivalentes. Aussi, un fichier swap est plus facilement redimensionnable.
Par contre, vous ne pouvez pas l’utiliser sur un système de fichier Btrfs. Et la fonction de mise en veille prolongée du système (hibernation) ne sera plus possible si vous l’utilisiez avant.
Créer un fichier swap sous Linux
Avant de commencer, vérifiez que vous avez suffisamment d’espace disque pour accueillir le fichier swap en gardant au moins 10% de l’espace libre.
Les opérations qui suivent, se font dans un terminal.
Création du fichier qui deviendra le fichier swap
La commande fallocate
permet de réserver un espace du disque pour un fichier :
sudo fallocate -l <taille du fichier> <chemin et nom du fichier>
-l
: permet d’indiquer la taille du fichier en octet. Pour 1 Mio, vous pouvez indiquer 1M
ou 1MiB
, pour 1 Gio, 1G
ou 1 GiB
, etc.
Par exemple, pour créer un fichier swap swapfile
de 4 Go à la racine du système :
sudo fallocate -l 4G /swapfile
Sécurisation du fichier swap
Puis, il faut modifier les permissions de ce fichier pour qu’il ne soit accessible que par le système :
sudo chmod 600 <chemin et nom du fichier>
Par exemple :
sudo chmod 600 /swapfile
Définition de ce fichier comme étant un fichier swap
Il faut aussi dire au système, que ce fichier est un fichier d’échange :
sudo mkswap <nom du fichier>
Par exemple :
sudo mkswap /swapfile
Activation du fichier swap
La commande qui suit, permet d’activer le fichier swap temporairement (jusqu’au prochain redémarrage de l’ordinateur) en plus de la partition swap existante.
Donc pour activer ce nouvel espace d’échange, entrez la commande suivante :
sudo swapon <nom du fichier>
Par exemple :
sudo swapon /swapfile
Aussi, pour vérifier que le fichier swap est bien actif, entrez la commande suivante :
swapon
Vous devriez avoir une réponse de ce type :
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 4G 0B -1
/swapfile file 4G 0B -2
La ligne 2 correspond à la partition swap. Et la ligne 3 correspond au fichier swap créé.
Désactivation du fichier swap
Pour désactiver le fichier swap, entrez la commande suivante :
sudo swapoff <nom du fichier>
Par exemple :
sudo swapoff /swapfile
Remplacer la partition swap par le fichier swap
Pour cela, il faut modifier le fichier /etc/fstab
. Mais, avant de commencer la modification de ce fichier, je vous recommande de le sauvegarder :
sudo cp /etc/fstab /etc/fstab.backup
Pour éditer le fichier, vous pouvez le faire avec l’éditeur de texte nano :
sudo nano /etc/fstab
Utilisez les touches ← ↑ → ↓ pour se déplacer dans le texte et faites Ctrl + O puis Entrée pour sauvegarder et Ctrl + X pour quitter.
Activation du fichier swap de façon permanente
Pour cela, ajoutez à la fin du fichier /etc/fstab
:
# Fichier swap créé manuellement
/swapfile none swap sw 0 0
Désactiver la partition swap au démarrage
Pour que la partition swap ne soit plus active au prochain démarrage du système, il faut supprimer la ligne correspondante à son montage. Cette dernière est généralement du style :
UUID=1edc89ba-e7af-437d-82f8-ceed790e5083 none swap sw 0 0
Si vous ne voulez pas la supprimer, vous pouvez ajouter
#
au début de la ligne correspondante. Cela la passera en commentaire et donc la désactivera.
Suppression de la partition swap plus utilisée
Pour supprimer la partition swap, il faut d’abord la désactiver. Pour connaître l’emplacement de la partition swap, faites :
lsblk
Le résultat retourné dépend de votre configuration. Par exemple :
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 4G 0 part [SWAP]
└─sda1 8:1 0 16G 0 part /<br data-mce-bogus="1">
Ici, la partition swap est sur la partition sda5
. Alors pour la désactiver, faites :
sudo swapoff /dev/sda5
Et maintenant, vous pouvez la supprimer et réaffecter l’espace libérer à une partition existante ou en créer une nouvelle avec, par exemple, GParted (sudo apt install gparted
si pas installé).
Pour aller plus loin
Pour vous aider à déterminer la taille du swap, vous pouvez lire l’article SwapFaq (en anglais) sur le site d’aide d’Ubuntu.
Vous pouvez aussi consulter les articles Wikipédia sur :
- l’espace d’échange (swap)
- les préfix binaires (pour connaitre la différence entre gibi et giga)
Tuto très clair, très bien expliqué sans excès et en bon français (ce qui est rare).
Les explications fournies m’ont permis d’appliquer le changement sur un desktop Pentium 4 en dual-boot Ubuntu 16.04.7 LTS / Win XP SP3, et cela fonctionne parfaitement. L’indication du niveau de noyau 2.6 m’a incité à essayer avec un noyau 4.4, en suivant scrupuleusement la procédure (sauf l’éditeur, pour lequel j’utilise GEDIT par habitude).
De réels compliments au rédacteur : ni trop, ni trop peu, avec les mises en garde nécessaires.
Utile à 100% dans mon cas, après un passage loupé à Ubuntu 18.04.5 LTS (en 32 bits) qui ne fonctionnait qu’en mode sans échec, et m’a conduit à tout reprendre à zéro avec le dvd de la version 16.04.1 LTS, puis de l’ensemble des mises à hour.
Merci.
Petite remarque : Suivant votre modèle de Pentium 4, il pourrait être 64 bits. Si c’est le cas, je vuos recommande d’installer Ubuntu en 64 bits pour continuer de le mettre à jour vers les nouvelles versions. Et vous pouvez garder le DualBoot avec Windows XP en 32 bits, même si je déconseille de garder XP (surtout si vous allez sur internet) pour des raisons de sécurité car plus maintenu depuis des années…
Pour savoir si votre CPU est 64 bits, faites sous Linux
uname -m
Si la réponse estx86_64
, votre système est 64 bits et vous pouvez installer Ubuntu 20.04 LTS. Mais si c’esti686
oui386
, il est 32 bits et vous ne pourrez plus mettre à niveau après Ubuntu 18.04 LTS. Par contre, vous pouvez passer à Debian (ou autres distrib basée sur Debian comme LMDE, Debian-Facile,…) qui propose toujours des installeurs 32 bits.Cordialement