Product SiteDocumentation Site

6.6. Mise à jour d'une distribution à la suivante

Un des éléments les plus marquants de Debian est sa capacité à mettre à jour un système d'une distribution stable vers la suivante (le fameux dist-upgrade, qui a contribué à la réputation du projet). Avec un peu d'attention, on peut ainsi migrer un ordinateur en quelques minutes ou dizaines de minutes, selon la rapidité d'accès aux sources de paquets.

6.6.1. Démarche à suivre

Comme le système Debian a le temps d'évoluer entre deux versions stables, on prendra soin de lire, avant d'entreprendre la mise à jour, les notes de publication.
Nous allons ici nous attacher particulièrement à la migration d'un système Squeeze en Wheezy. Comme toute opération majeure sur un système, cette mise à jour comporte une certaine part de risque et il est donc vivement conseillé de s'assurer que les données importantes sont sauvegardées avant de s'engager dans la procédure.
Pour faciliter (et raccourcir) la mise à jour, il est également recommandé de faire un peu de nettoyage dans les paquets installés, pour ne garder que ceux qui sont réellement nécessaires. Pour cela, on mettra à profit les fonctions d'apt-get, éventuellement en conjonction avec deborphan et debfoster (voir Section 6.2.7, « Suivi des paquets installés automatiquement »). On pourra par exemple utiliser la commande suivante :
# deborphan | xargs aptitude --schedule-only remove
Passons à la mise à jour du système. On commencera par indiquer à APT qu'il doit utiliser Wheezy au lieu de Squeeze, en modifiant le fichier /etc/apt/sources.list en conséquence. Si ce fichier ne contient que des références à Stable et non à un de ces noms de code, c'est encore plus simple : la modification n'est pas nécessaire, puisque Stable est toujours identique à la dernière version publiée de Debian. Dans les deux cas, on n'oubliera pas de rafraîchir la base de données des paquets disponibles (apt-get update, ou le bouton de mise à jour dans synaptic).
Une fois que ces nouvelles sources de paquets sont déclarées, la première chose à faire est une mise à jour minimale avec apt-get upgrade. Cette mise à jour en deux temps facilite la tâche des outils de gestion de paquets ; en particulier, cela assure que ces outils eux-mêmes sont dans leur dernière version et qu'ils disposent donc de correctifs et d'améliorations qui peuvent s'avérer nécessaires lors de la mise à jour complète de la distribution.
Une fois ces préliminaires accomplis, on pourra passer à la mise à jour proprement dite, que ce soit avec apt-get ou synaptic. On vérifiera les actions à effectuer avant de les déclencher (pour éventuellement ajouter des paquets suggérés, ou désélectionner des paquets qui ne sont que recommandés) ; le frontal devrait dans tous les cas arriver à un scénario dont la situation finale est un système Wheezy cohérent et à jour. Il suffira alors de patienter durant le téléchargement des paquets, de répondre aux questions Debconf et de regarder la magie s'opérer pendant le reste de la procédure en gardant un œil attentif sur les éventuelles questions portant sur le remplacement de fichiers de configuration qui auraient été localement modifiés.

6.6.2. Gérer les problèmes consécutifs à une mise à jour

Malgré tous les efforts des mainteneurs Debian, une mise à jour majeure du système d'exploitation cause parfois quelques soucis. Les nouvelles versions de certains logiciels sont parfois incompatibles avec les précédentes (évolution d'un format de données, comportement par défaut qui diffère, etc.). En outre, certains bogues passent inaperçus malgré la période de test précédant la publication d'une nouvelle version.
Pour anticiper les problèmes liés aux évolutions des logiciels mis à jour, il est utile d'installer le paquet apt-listchanges. Il affichera, au début d'une mise à jour de paquet, des informations relatives aux embarras possibles. Ces informations sont rédigées par les mainteneurs de paquet à l'intention des utilisateurs et placées dans des fichiers /usr/share/doc/paquet/NEWS.Debian et en tenir compte évitera toute mauvaise surprise.
Parfois, la nouvelle version d'un logiciel ne fonctionne plus du tout. C'est par exemple le cas si le logiciel n'est pas très populaire et n'a pas été suffisamment testé ; une mise à jour de dernière minute peut aussi introduire des régressions qui ne sont découvertes qu'après publication. Dans ce cas, le premier réflexe sain est de consulter le système de suivi de bogue à l'adresse http://bugs.debian.org/paquet pour déterminer si le problème est déjà connu et signalé. Si ce n'est pas le cas, il faut le signaler avec reportbug. Sinon, la lecture du rapport de bogue sera généralement très instructive :
  • On peut y découvrir l'existence d'un correctif qui permet alors de recompiler localement une version corrigée du paquet Debian (voir Section 15.1, « Recompiler un paquet depuis ses sources »).
  • Parfois, d'autres utilisateurs ont trouvé un moyen de contourner le problème et partagent leur expérience dans l'historique du bogue.
  • Enfin un paquet corrigé peut avoir été préparé par le mainteneur et être disponible en téléchargement.
Selon la gravité du bogue, une nouvelle version peut être préparée pour être intégrée dans une nouvelle révision de la version stable. Dans ce cas, un paquet corrigé est peut-être disponible dans la section proposed-updates des miroirs Debian (voir Section 6.1.2.3, « Mises à jour proposées »). On peut alors temporairement ajouter l'entrée correspondante dans son fichier sources.list et installer la mise à jour avec apt-get ou aptitude.
Si le paquet n'est pas encore disponible dans cette section, on peut vérifier s'il est en attente de validation par les SRM (les gestionnaires de la version stable) en consultant leur page web. Les paquets listés sur cette page ne sont pas encore disponibles publiquement mais l'on sait au moins que le processus de publication suit son cours.