Mise à niveau Debian 10 vers Debian 11

Qu'avons-nous dans la boîte ?
Cet article explique comment mettre à niveau votre système Debian 10 vers Debian 11 via la ligne de commande, c’est-à-dire Debian Buster vers Debian Bullseye. Avant de parler de la mise à niveau, je vous rappelle que depuis le 14 août 2021, Debian 11 est disponible au téléchargement après plus de deux ans de développement. Associée au nom de code « Bullseye », elle sera prise en charge pendant cinq ans et il s’agit de la nouvelle version stable de Debian. Actuellement, Debian 11.3 est disponible depuis le 26 mars 2022, et il s’agit d’une version de Debian 11 avec des correctifs.
Pour réaliser cette opération de mise à niveau, vous devez disposer des privilèges de super-utilisateur, donc vous devez être connecté en tant que root ou en tant qu’utilisateur avec les privilèges sudo.
Avant de commencer, sauvegardez vos données et s’il s’agit d’une machine virtuelle, déclenchez une sauvegarde ou un snapshot afin de pouvoir revenir en arrière si vous rencontrez des difficultés. Place à la pratique.
1. Mettez à jour vos paquets actuels
Avant de commencer la mise à niveau de Debian 10 vers Debian 11, il est recommandé de mettre à jour tous vos paquets actuellement installés vers leurs dernières versions. Généralement, les dernières versions sont compatibles avec la dernière version du système, en l’occurrence ici Debian.
Les paquets marqués comme étant en attente (ou verrouillés si vous préférez) ne peuvent pas être automatiquement installés, mis à niveau ou supprimés. Cela peut causer des problèmes pendant le processus de mise à niveau. Pour vérifier s’il y a des paquets avec un verrou, commencez par exécuter la commande suivante :
sudo apt-mark showhold
Si la commande retour un ou plusieurs paquets, ce signifie qu’il y a des paquets en attente. Il faut traiter chaque paquet, donc soit vous le supprimez, soit vous vous assurez qu’il ne va pas perturber la mise à niveau Debian 10 vers Debian 11. Pour supprimer un paquet concerné, il faut retirer le verrou. Voici un exemple :
sudo apt-mark unhold NomPaquet
Actualisez l’index des paquets et mettez à niveau vos paquets en exécutant ces deux commandes :
sudo apt update
sudo apt upgrade
Ensuite, exécutez les commandes ci-dessous pour faire une mise à niveau majeure des paquets installés puis supprimer certains paquets inutiles :
sudo apt full-upgrade
sudo apt autoremove
2. Upgrade Debian 10 vers Debian 11
Passons maintenant à la mise à niveau Debian 10 vers Debian 11 en elle-même. La première étape consiste à reconfigurer le fichier qui contient les sources de paquets.
Pour ce faire, vous pouvez ouvrir le fichier /etc/apt/sources.list avec votre éditeur de texte (nano, vi, etc.) et mettre à jour les différentes lignes pour cibler la nouvelle version de Debian. Néanmoins, nous allons plutôt le faire avec la commande Sed. Si vous avez d’autres fichiers sous /etc/apt/sources.list.d, vous devez également mettre à jour ces fichiers avec les nouvelles sources.
À titre d’information, le fichier par défaut /etc/apt/sources.list ressemble à ceci :
deb http://deb.debian.org/debian bullseye main
deb-src http://deb.debian.org/debian bullseye main
deb http://security.debian.org/debian-security bullseye-security main
deb-src http://security.debian.org/debian-security bullseye-security main
deb http://deb.debian.org/debian bullseye-updates main
deb-src http://deb.debian.org/debian bullseye-updates main
Pour le mettre à jour avec les bonnes valeurs via Sed, sans même ouvrir le fichier (quoi que vous pouvez l’ouvrir pour vérifier), exécutez ces trois commandes :
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list
sudo sed -i 's/buster/bullseye/g' /etc/apt/sources.list.d/*.list
sudo sed -i 's#/debian-security bullseye/updates# bullseye-security#g' /etc/apt/sources.list
Qui dit nouvelles sources, dit besoin d’actualiser l’index des paquets :
sudo apt update
S’il y a des erreurs ou des messages d’avertissement liés à un référentiel non officiel, je vous invite à le supprimer du fichier. Commencez la mise à niveau du système en mettant à niveau les paquets installés.
sudo apt upgrade
Pendant cette mise à niveau, ne soyez pas étonné si des questions sont posées. Par exemple pour vous demander si vous souhaitez conserver un fichier de configuration existant ou récupérer la nouvelle version de l’éditeur (ou de la personne responsable du paquet).
Lisez attentivement les informations pour prendre la bonne décision. Dans le cas où vous n’avez pas apporté de modifications au fichier, c’est mieux de taper Y pour récupérer la nouvelle version, sinon, pour conserver la configuration actuelle, taper N.
Cette première étape de la mise à niveau peut prendre un certain temps puisque cela dépend de la vitesse de votre machine, mais aussi de votre connexion Internet.
Quand c’est fait, passez à la suite : la mise à niveau complète du système. Une étape importante pour installer les versions les plus récentes des paquets et résoudre les problèmes de dépendance entre les paquets de différentes versions. C’est complémentaire à la commande précédente.
sudo apt full-upgrade
Une fois cela fait, supprimez les paquets inutiles avec la commande suivante :
sudo apt autoremove
Redémarrez le serveur et croisez les doigts ! Normalement, votre machine doit démarrer sur Debian 11 ! 🙂
sudo systemctl reboot
3. La mise à niveau est-elle effective ?
Suite au redémarrage de la machine, comment savoir si la mise à niveau Debian 10 vers Debian 11 est effective ? Et bien, en exécutant la commande ci-dessous.
lsb_release -a
Vous pouvez aussi utiliser cette commande :
uname -r
Voici un exemple de sortie où l’on voit clairement que la mise à niveau a fonctionné.
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 11 (bullseye)
Release: 11
Codename: bullseye

Félicitations ! Vous venez de faire une mise à niveau de Debian 10 vers Debian 11 sur votre serveur ! La procédure est la même que ce soit un serveur physique ou un serveur virtuel, mais pensez à la sauvegarde dans tous les cas.
Ressources