Tutoriel Debian
Dans votre infrastructure informatique, vous avez sans doute des serveurs Debian qui tournent encore sous une version différente de celle proposée. À ce jour, Debian propose la version "bullseye" qui corresponds à la 11ème version majeure de la distribution.
Dans ce tutoriel, nous allons voir ensemble comment passer d'une version majeure sans pour autant réinstaller complètement le serveur Debian en question.
Une première méthode sera vue afin de mettre à jour le système disposant d'une connexion Internet, puis une seconde méthode qui permettra de mettre à niveau la version Debian sans connexion Internet.
Comme pour toute mise à jour système, il est plus que nécessaire d'effectuer des sauvegardes du système dans le cas où la mise à jour pouvait échouer. Si votre serveur est virtualisé, pour pouvez réaliser facilement un Snapshot (capture de l'état de la machine à l'origine dispo pour la plupart des Hyperviseurs ). Il est à souligner que cette méthode ne remplace en aucun cas une sauvegarde réelle des données. Utilisez dans ce cas un logiciel prévu à cet effet qui se chargera d'effectuer des sauvegardes incrémentielles quotidiennement, comme par exemple avec Veeam.
Deuxième point à savoir, lors de la migration, il est susceptible que l'assistant de mise à jour aptitude pose un certain nombre de question, comme par exemple si vous souhaitez conserver un ancien fichier de configuration ou si vous souhaitez utiliser le fichier par défaut de la nouvelle version, mais encore un redémarrage d'un service en particulier. Donc, ne partez pas faire un Bowling pendant ce temps, ne restez pas loin... ;)
Debian regroupe un nom de lancement pour chaque version publiées au cours des années. À partir de la version 8 jusqu'à la version 11 à ce jour, voici les différents noms :
Ces noms seront importants lors de la modification du nom de la version dans le fichier source Apt de Debian. Dans le cadre de ce tutoriel, nous allons effectuer une migration en partant de la version Debian 10 Buster vers la version Debian 11 Bulleye. Le processus semble être identique pour migrer d'une version à une autre différentes que celles proposées dans ce tutoriel.
Évitez de migrer deux versions à la fois ! (Passage de Debian 9 => Debian 11 par exemple...). Cela n'as pas été testé... des effets de bord sont à prévoir.
Avant de commencer la migration du Debian, assurez vous que le Debian 10 Buster dispose des dernières mises à jour :
On mets à jour la liste des dépôts en cherchant de nouvelles mises à jour depuis les dépôts dans le fichier /etc/apt/source.list
:
apt update
On installe les mises à jours identifiées avec apt update
:
apt upgrade
On installe les mises à jour concernant la distribution :
apt full-upgrade
Pour le passage sous la nouvelle version Debian 11, il est nécessaire de remplacer l'ancien nom de version correspondant à Debian 10 pour accueillir Debian 11. Éditez le fichier /etc/apt/sources.list
en utilisant un éditeur de texte de votre choix et remplacez chaque instance de buster par bullseye. Trouvez ensuite la ligne de sécurité, remplacez le mot clé buster/updates par bullseye-security.
Dans notre cas pour le passage à Debian 11, en remplaçant les nouvelles données avec Sed, on modifie Buster par BullsEye. On remplace ensuite le mot clé bullseye/updates par bullseye-security.
sed -i 's/buster/bullseye/g' /etc/apt/sources.list
sed -i 's:bullseye/updates:bullseye-security:g' /etc/apt/sources.list
De ce fait, le fichier source est semblable à celui-ci :
deb http://debian.polytech-lille.fr/debian/ bullseye main
deb-src http://debian.polytech-lille.fr/debian/ bullseye main
deb http://security.debian.org/debian-security bullseye-security main
deb-src http://security.debian.org/debian-security bullseye-security main
# bullseye-updates, previously known as 'volatile'
deb http://debian.polytech-lille.fr/debian/ bullseye-updates main
deb-src http://debian.polytech-lille.fr/debian/ bullseye-updates main
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
Edito 16/01/2024 : Fichier APT pour Debian 12 (Bookworm) :
#deb cdrom:[Debian GNU/Linux 12.2.0 _Bookworm_ - Official amd64 NETINST with firmware 20231007-10:28]/ bookworm main non-free-firmware
deb http://debian.polytech-lille.fr/debian/ bookworm main non-free-firmware
deb-src http://debian.polytech-lille.fr/debian/ bookworm main non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main non-free-firmware
deb-src http://security.debian.org/debian-security bookworm-security main non-free-firmware
# bookworm-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://debian.polytech-lille.fr/debian/ bookworm-updates main non-free-firmware
deb-src http://debian.polytech-lille.fr/debian/ bookworm-updates main non-free-firmware
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
Remplacer dans le fichier source APT : "bullseye" vers "bookworm" :
sed -i 's/bullseye/bookworm/g' /etc/apt/sources.list
Le tutoriel va maintenant être séparé en deux parties : une migration avec accès Internet, donc installation des paquets depuis le réseau mondial ET sans internet avec téléchargement au préalable des dépendances et installation manuelle depuis le dossier APT. Rien ne change au niveau des manipulations effectuées, juste le mode de récupération des fichiers, le fait d'installer en mode hors connexion nécessite quelques manipulations supplémentaires.
L'installation avec la récupération des dépendances directement depuis Internet est limité à la mise à jour de la liste des dépôts et à l'installation des paquets récupérés en ligne. Une fois les modifications effectuées, on mets à jour la liste des dépôts avec la nouvelle version :
apt update
Nous allons effectuer une mise à niveau minimale des paquets existants sans en installer ou en modifier :
apt upgrade --without-new-pkgs
Lors du processus de mise à jour, vous recevrez sans doute plusieurs questions comme « Souhaitez-vous redémarrer le service XXX ? » dans la plupart des pas, répondez Oui à la question afin de redémarrer le service en question.
Lancer ensuite la mise à niveau complète de Debian :
apt-get upgrade -o Dpkg::Options::="--force-confold" -y
apt full-upgrade -o Dpkg::Options::="--force-confold" -y
La première commande lance la mise à niveau classique, contrairement à la seconde commande qui répond automatique aux invités de commandes afin de garder automatiquement les fichiers de configuration actuels ou lors d'un redémarrage des différents services en question.
Sur une machine disposant d'une connexion Internet, on va se charger de télécharger les fichiers nécessaires pour Debian 11. Il est très important d'effectuer le téléchargement des sources sous la version de destination de la migration, donc sous un Debian 11 également.
On mets à jour la liste des dépôts en cherchant de nouvelles mises à jour depuis les dépôts mis à jour dans le fichier /etc/apt/source.list
:
apt update
On télécharge les mises à jour de la distribution :
apt full-upgrade --download-only -y
Les fichiers téléchargés sont disponibles dans le répertoire : /var/cache/apt/archives
regroupant l'ensemble des dépendances téléchargées :
Déplacez l'ensemble des dossiers sur la machine cible n'ayant pas accès à Internet en copiant uniquement les fichiers .deb (ne pas prendre le dossier "partial" et le fichier "lock") dans le dossier /var/cache/apt/archives
.
Ensuite, il ne reste plus qu'à lancer l'installation des paquets :
apt install /var/cache/apt/archives/*.deb --assume-yes -o Dpkg::Options::="--force-confold" -y
Une fois que la mise à niveau a bien été effectuée, redémarrez la machine Debian :
reboot
Une fois le redémarrage effectué, vérifiez la version de Debian :
cat /etc/os-release
Enfin, on se charge de nettoyer ensuite le dossier temporaire APT et ainsi que les dépendances inutiles :
apt -y autoremove
apt clean
Vous pouvez constater que la migration de la version Debian 10 Buster vers Debian 11 BullsEye a bien été réalisée avec succès !
Et voilà, bravo à vous ! Vous avez réussi à effectuer une migration opérationnelle depuis Debian 10 vers Debian 11 ! Bravo champion !