Si vous utilisez Debian 11 et que vous souhaitez passer sur Debian 12, vous avez deux options :
- Effectuer une mise à niveau sur place de Debian 11 vers Debian 12, c’est ce que nous allons voir aujourd’hui
Avant de procéder, veillez aussi à sauvegarder les données de votre machine et à vérifier la compatibilité de vos services avec cette nouvelle version de Debian (certains paquets peuvent être incompatibles avec la nouvelle version, ou dans une version plus récente, ou pas encore pris en charge).
Source : https://www.it-connect.fr/tuto-mise-a-niveau-debian-11-vers-debian-12-bookworm/
Comme point de départ, c’est bien une machine Debian 11 qui est utilisée dans cet exemple. La commande ci-dessous permet de s’en assurer :
lsb_release -a

Pour effectuer la mise à niveau de votre machine, vous pouvez vous authentifier en tant que root directement. Sinon, pensez à précéder les commandes ci-dessous avec « sudo ». Suivez attentivement la procédure.
Tout d’abord, on va mettre à jour le cache des paquets et effectuer une mise à jour des paquets actuellement présents sur le serveur :
apt-get update
apt full-upgrade
Une fois que c’est fait, il convient de modifier le fichier « sources.list » pour que l’on pointe vers les sources de Debian 12. Avant cela, et par précaution, effectuez une copie de votre fichier « sources.list ». Ici, la copie est réalisée vers le répertoire « home » de mon utilisateur.
cp /etc/apt/sources.list /home/votre_utilisateur/sources.list.bkp
Ensuite, dans le fichier « sources.list », il faut remplacer toutes les occurrences de « bullseye » (Debian 11) par « bookworm » (Debian 12). Soit on le fait à la main en éditant le fichier avec nano ou vi, soit on utilise la commande sed pour remplacer automatiquement les valeurs.
Ce qui donne cette commande :
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
Si vous ouvrez le fichier « sources.list », vous pourrez constater ce changement.

Pour les personnes qui utilisent aussi le dépôt « non-free » de Debian 11, il y a une modification supplémentaire à effectuer. En effet, Debian 12 présente la particularité d’utiliser des composants propriétaires donc il y a un dépôt supplémentaire à rajouter : non-free-firmware. Dans ce cas, ajoutez-le à la suite, comme ceci
deb http://deb.debian.org/debian-security/ bullseye-security main contrib non-free non-free-firmware
deb-src http://deb.debian.org/debian-security/ bullseye-security main contrib non-free non-free-firmware
Quand les modifications sont effectuées, mettez à jour le cache des paquets :
apt-get update
Puis, mettez à jour la distribution Debian :
apt-get dist-upgrade
Pendant le processus d’installation, apt-listchanges va afficher la liste des nouveaux paquets qui seront installés sur votre machine. Il convient d’appuyer sur « q » pour passer ou de faire dérouler pour lire le détail, mais cela peut être très très long à lire…
Ensuite, l’étape « Configuration de libc6:amd64 » va s’afficher. Prenez le temps de lire et de faire votre choix. On vous propose de redémarrer automatiquement un service lorsque l’une de ses bibliothèques dont il dépend a reçu une mise à jour. Je vous recommande de choisir « Oui« .

Selon la configuration de votre machine, il peut y avoir une ou plusieurs étapes supplémentaires où l’on vous signale la mise à jour d’un fichier de configuration. Si vous utilisez un paquet et que vous avez personnalisé sa configuration, Debian vous proposera de conserver votre fichier de config ou de mettre à la place la nouvelle version : à vous de faire le choix qui vous correspond, au cas par cas.
Patientez jusqu’à la fin… Et redémarrez votre machine :
sudo reboot
Lorsque la machine est de nouveau démarrée, connectez-vous. Affichez la version de Debian : vous devez avoir la bonne surprise de voir que vous êtes sous Debian 12 ! On peut voir aussi qu’il y a un changement de version de noyau.
lsb_release -a

Même si ce n’est pas obligatoire, vous pouvez terminer le processus par la commande ci-dessous pour supprimer les paquets correspondants à des dépendances plus utiles sur votre machine.
sudo apt --purge autoremove
La mise à niveau de Debian 11 vers Debian 12 est terminée ! Votre travail ne s’arrête pas là, vous devez vérifier que tous vos services sont actifs et opérationnels.