I. Présentation
Depuis le début du mois de juillet la toute dernière version Buster Debian 10 est sortie. Je vous propose dans ce billet de décrire le processus de migration de Debian 9 Stretch vers Debian 10 Buster.
En matière de système la règle d’or est : moins il y a de logiciels installés sur votre système, plus il y a de chance pour réussir l’upgrade vers la toute dernière version. D'ailleurs, les chances pour une mise à jour réussie et efficace sont décrues à cause du nombre de packages "tiers party" déjà présents sur votre système actuel. Pour toutes ces bonnes raisons, il est conseillé de supprimer tous les dépôts standards et de logiciels "tiers party" qui pourraient être obsolètes, avant de vous lancer dans la phase de mise à jour.
REMARQUE : la commande aptitude peut aider à trouver ces fameux logiciels "tiers party" précédemment installés sur le système Debian Stretch. Pour cela, il suffit d’exécuter l’instruction suivante (sous le compte root) :
# aptitude search '~i(!~ODebian)'
Cela permet de lister les packages qui ne se trouvent plus dans un dépôt officiel depuis qu’ils ont été supprimés. En effet, cela les rend ainsi obsolètes. Bon, après ces considérations, il est temps maintenant de passer à la description de la migration Buster à proprement parlé !
II. Préparation à la mise à jour complète en Buster
Comme pour toute mise à jour, la première des choses à réaliser est de mettre à jour l’ancienne version en exécutant les commandes suivantes :
# apt-get update
# apt-get upgrade
Si tout cela s’est correctement déroulé, on peut alors réaliser une vérification de l’état de santé de la base de packages ainsi que de sa consistance :
# dpkg -C
Dans le cas où aucune ligne n’est affichée, on peut ensuite passer à la liste des packages qui ne seront pas mis à jour via l’instruction ci-dessous :
# apt-mark showhold
REMARQUE : les packages marqués comme étant ‘On Hold’ ne sont pas upgradés. Cela peut provoquer des incohérences après la mise à jour en version Buster. Aussi, avant d’aller plus loin il est fortement recommandé de fixer l’ensemble des alertes remontées par la commande précédente. Pour cela, on peut s’aider aussi de la commande suivante :
# dpkg --audit
III. Mise à jour des dépôts de packages en Debian Buster
A ce stade, on dispose d’un système prêt à être mis à jour en Version Debian 10, il est alors grand temps de synchroniser les fichiers d’index de packages avec les sources de la nouvelle version Debian Buster. Cela s’effectue en éditant comme toujours le fichier /etc/apt/sources.list en remplaçant les occurrences de ‘stretch’ par ‘buster’. On peut pour cela, exécuter la commande suivante :
# sed -i 's/stretch/buster/g' /etc/apt/sources.list
Lorsque cela est fait, on peut alors utiliser la commande apt-get pour mettre à jour l’index des packages :
# apt update
Avant de lancer l’exécution de la mise à jour, on peut aussi s’assurer que celle-ci se déroulera au mieux, en lançant une simulation grâce à la commande ci-dessous :
# apt list --upgradable
IV. Mise à jour en Debian Buster
Voilà, nous sommes prêts à exécuter la mise à jour de la version Debian Stretch en version Debian Buster (Debian 10). Durant cette phase, le système peut demander à redémarrer certains services pour certains packages, sans en demander l’autorisation durant l’upgrade. Le choix dépend de ce que l’on souhaite faire de ces services :
- les redémarrer automatiquement durant la mise à jour du système
- les redémarrer manuellement
- les redémarrer après la mise à jour en version Buster
En tout cas, lorsque l’on est prêt, il ne reste plus qu’à exécuter les instructions suivantes :
# apt-get upgrade
# apt-get dist-upgrade
V. Conclusion
Voilà, le système est désormais en version Debian 10 (alias Buster). On doit par contre, vérifier avant tout qu’il n’y a aucun packages obsolètes en exécutant à nouveau la commande aptitude ci-dessous :
# aptitude search '~i(!~ODebian)'
Ensuite, pour s’assurer que la version de Debian est la bonne, on peut exécuter également la commande suivante :
# cat /etc/issue
Ou l’une des commandes suivantes :
# cat /etc/os-release
Ou encore:
# hostnamectl
Il ne reste plus alors qu’à se connecter à votre nouvel environnement et à lancer vos applications préférées pour s’assurer que tout est bien opérationnel 🙂