Mise à niveau (migration)

Ce document d'introduction répond aux questions les plus courantes concernant la mise à niveau d'Ubuntu et ses variantes vers une version ultérieure. Nous vous rappelons qu'une mise à niveau n'est pas à prendre à la légère, d'où la raison pour laquelle nous vous invitons fortement à prendre connaissance du présent document avant de procéder.

Le terme « mise à niveau », ou « migration », est un processus qui permet de passer d'une ancienne version d'Ubuntu (ou d'une de ses variantes) à une version plus récente de la distribution. Un exemple de mise à niveau est le passage de Ubuntu 19.10 à Ubuntu 20.04. Utiliser la toute dernière version d'Ubuntu peut être intéressant car celle-ci gère de plus en plus de nouveaux matériels et périphériques, et est toujours plus optimisée dans l'utilisation des ressources de votre ordinateur (cf. "La mise à niveau est-elle utile pour moi ?").

La mise à niveau est à différencier d'une simple mise à jour :

  • la mise à jour implique que votre version d'Ubuntu reste la même. Lors d'une mise à jour, il n'y a pas de changement de numéro de version d'Ubuntu, et vos applications restent en même version (il n'y a pas de nouvelle version de vos applications dans les dépôts d'Ubuntu). La mise à jour a relativement peu d'impact sur votre système, et consiste uniquement en l'application de correctifs de sécurité;
  • la mise à niveau (migration) implique un passage de votre version d'Ubuntu à une version ultérieure. Lors d'une mise à niveau, le migrateur fait passer vos logiciels en une version plus récente, de même qu'installe, remplace ou désinstalle certains logiciels nouveaux ou, au contraire, obsolètes. La mise à niveau a un impact en profondeur sur votre système, et doit être faite en connaissance de cause.

Ubuntu 18.04 LTS vers Ubuntu 18.10 : est-ce une mise à jour ou mise à niveau ?

Il s'agit d'une mise à niveau. Vous passez votre système Ubuntu d'une version quelconque vers une version plus récente. Le passage à une nouvelle version implique des changements majeurs, en profondeur, tels des nouveaux logiciels, des nouveaux services et des nouveaux noyaux Linux. Il s'agit donc d'une mise à niveau.

Et de Ubuntu 18.04 LTS à Ubuntu 18.04.1 LTS : mise à jour ou mise à niveau ?

Il s'agit d'une mise à jour importante marquant une étape dans les versions LTS d'Ubuntu. La version 18.04.1 d'Ubuntu n'inclut pas de nouvelles applications ni de nouveaux services. Il s'agit d'une compilation des derniers correctifs de sécurité ou/et une utilisation du binôme noyau/serveur graphique de version supérieure. Ceci est donc une mise à jour.

Voir cette page pour en savoir plus sur ce type de mise à jour.

Effectuer une mise à niveau vers une version plus récente d'Ubuntu n'est pas une obligation. Elle peut être intéressante dans les cas suivants :

  • lorsque votre version actuelle d'Ubuntu arrive en fin de vie, il est recommandé de la mettre à niveau vers une version maintenue avant qu'elle ne profite plus de maintenance. À ce sujet, consultez le tableau des versions activement maintenues ;
  • lorsque vous aimez posséder les dernières innovations ou désirez faire reconnaître plus de matériel, vous souhaiterez probablement mettre à niveau votre système vers la toute dernière version dernier cri, qui bénéficie des derniers logiciels stables.

Si votre environnement nécessite une stabilité accrue et homogène (p. ex. : les milieux d'entreprise), utiliser des versions soutenues à long terme (LTS) est recommandé, car elles sont soutenues et bénéficient de mises à jour de sécurité pour une période prolongée pendant 5 ans pour les versions desktop et serveur depuis la version 12.04 LTS. Effectuez des mises à niveau de version LTS à version LTS+1 lorsque votre version actuelle arrive en fin de vie.

« Ma version d'Ubuntu arrive prochainement ou est arrivée en fin de vie. Suis-je obligé de procéder à une mise à niveau ? »
Dans l'absolu, vous n'êtes pas obligé de procéder à une mise à niveau, car Ubuntu ne contient aucun mécanisme bloquant l'utilisation d'une version non-soutenue. Toutefois, utiliser une version non soutenue n'est pas recommandé car :
  • vous n'obtiendrez plus d'assistance1) ;
  • et les éventuelles failles de sécurités affectant vos logiciels ne seront plus corrigées.
À partir de la version 22.04, lors de chaque connexion, vous aurez une proposition pour adhérer au service Ubuntu Pro qui vous permet une maintenance de 10 ans.
  • Pour mettre à niveau vers une version intermédiaire d'Ubuntu, vous devez effectuer une mise à niveau à partir de la version stable directement précédente. Par exemple, une mise à niveau vers Ubuntu 19.10 ne peut être effectuée qu'à partir de la précédente version stable 19.04 ;
  • Pour mettre à niveau vers une version LTS d'Ubuntu, vous devez effectuer une mise à niveau à partir de la version stable directement précédente ou de la version LTS directement précédente. Par exemple, une mise à niveau vers Ubuntu 20.04 LTS ne peut être effectuée qu'à partir de la précédente version (19.10) ou de la précédente version LTS (18.04).

Pour connaître la version actuelle de votre système, consultez la rubrique d'aide.

Oui. La mise à niveau effectuant des changements radicaux dans votre système, il est grandement préférable de prendre certaines précautions.

Il est notamment recommandé de sauvegarder vos données. D'ailleurs cela est une précaution valable en permanence, n'étant jamais à l'abri d'un pépin avec l'informatique, qu'il devrait être inutile de rappeler. Tester auparavant la nouvelle version sur live-DVD ou live-USB, afin de vérifier que l'essentiel (démarrage, connexion internet) sera fonctionnel.
La mise à niveau peut nécessiter plusieurs gigaoctets. Prévoyez suffisamment de place sur votre disque dur avant l'opération. Il n'y aura pas d'avertissement.
La mise à niveau est plus aisée lorsque l'ordinateur est bien géré. Il est donc important de remettre tous les paquets en gestion automatique et d'épurer l'inutile avec ces commandes (voir cette discussion).
apt-mark showmanual | awk '/linux-.*[0-9]/ && ! /hwe-[0-9][02468].04/{print}' | xargs -r sudo apt-mark auto
sudo apt autoremove --purge -y

Vous pouvez effectuer la mise à niveau vers la nouvelle version quand bon vous semble. Il n'y a pas de date limite à laquelle vous devez absolument être passé à une version ultérieure d'Ubuntu (sinon sa date de fin de vie, à laquelle les dépôts logiciels sont désactivés). Donc, si vous ne disposez pas de temps pour effectuer votre mise à niveau, patientez un peu. Ce n'est pas urgent.

De plus, les serveurs de téléchargement sont souvent surchargés les premiers jours suivant la sortie d'une nouvelle version stable. Pour profiter d'une mise à niveau plus sereine, attendez quelques semaines afin que les demandes en mises à niveau soient moins importantes. Vous téléchargerez vos paquets mis à niveau plus rapidement dans quelques semaines.

Très pratique pour passer progressivement d'une version à une autre :

Avant de se lancer, il est souhaitable de supprimer les logiciels ne provenant pas de sources officielles Ubuntu ! Généralement on peut voir la liste des dépôts non officiels avec la commande :
ls -l /etc/apt/sources.list.d

qui seront d'ailleurs désactivés lors de la procédure. C'est a vous, ensuite, de vous assurer que les dépôts non officiels sont encore valides et que le logiciel est toujours maintenu pour la nouvelle version d'Ubuntu et qu'ils seront donc compatibles et maintenus . Il se peut dans certains cas qu'il faille désinstaller certains logiciels qui empêcheront le bon déroulement de la mise à niveau. Il est préférable de désinstaller les logiciels qui ne seront pas compatibles et maintenus avant de lancer la procédure de mise à niveau.

Note : pour que le gestionnaire de mise à jour vous informe de la sortie d'une nouvelle version, il faut que le réglage "me prévenir à la sortie d'une nouvelle version" soit adéquat. Ce réglage est dans l'onglet "Source des logiciels". Pour n'être prévenu que des versions LTS (long terme et stabilité, une tous les 2 ans), choisissez "Pour les versions prises en charge sur le long terme". Pour être prévenu pour chaque nouvelle version (une tous les 6 mois), choisissez "Pour chaque nouvelle version". Pour ne jamais être prévenu, choisissez "Jamais".

Fermez le plus possible d'application et lancez le gestionnaire de mise à jour (update manager) depuis la liste des programmes. Cet utilitaire sert avant tout à mettre à jour votre système, mais il permet aussi d'effectuer les mises à niveau. Pour cela, il faut d'abord mettre à jour le système pour pouvoir mettre à niveau. Cliquez sur vérifier (Check) pour qu'il cherche les éventuelles mises à jour. Si votre système est à jour, il vous proposera déjà de mettre à niveau. Sinon, procédez à la mise à jour du système. Une fois la mise à jour effectuée, le gestionnaire de mise à jour doit vous proposer de mettre à niveau. Vous pouvez lancer la mise à niveau.

Il est préférable de passer par une mise à jour manuelle des paquets afin de s'assurer que les dépôts sont en bon état et qu'il n'y a pas d'erreur et donc que tous les paquets sont bien à jour. Pour s'en assurer, ouvrez un terminal et passez la commande suivante :

sudo apt update
D'une version à une autre, l'environnement graphique peut changer. Ainsi, une mise à niveau depuis un environnement graphique est toujours plus dangereuse que la mise à niveau en mode console décrite plus bas.

Les paquets mis à niveau sont téléchargés depuis(xx.)archive.ubuntu.com, à divers endroits dans le monde, où (xx.) représente le pays où se trouve le serveur de téléchargement. Ceux-ci sont les serveurs par défaut. Ceci constitue donc la seconde astuce : rien ne vous empêche de modifier votre liste de sources de paquets (/etc/apt/sources.list) pour utiliser un serveur miroir. Là aussi, il existe une multitude de miroirs : liste de miroirs des dépôts principaux d'Ubuntu. Sélectionnez un miroir près de chez vous pour de meilleures performances.

J'ai déjà commencé la mise à niveau et elle est lente. Puis-je l'arrêter puis la reprendre plus tard ?

Il est recommandé de ne pas arrêter la mise à niveau lorsqu'elle est commencée puisqu'il pourrait y avoir des problèmes d'accès au fichier de gestion des paquets installés.

Le logiciel détecte que l'ancien fichier a été modifié.

Le message banalisé est le suivant

Fichier de configuration « /xxxxx/yyyyy/zzzzz »
 ==> Modifié (par vous ou par un script) depuis l'installation.
 ==> Le distributeur du paquet a fourni une version mise à jour.
   Que voulez-vous faire ? Vos options sont les suivantes :
    Y ou I  : installer la version du responsable du paquet
    N ou O  : garder votre version actuellement installée
      D     : afficher les différences entre les versions
      Z     : suspendre ce processus pour examiner la situation
 L'action par défaut garde votre version actuelle.

La réponse Y/I semble préférable à la réponse N/O. Il sera toujours possible remettre les modifications si elles sont encore nécessaire en vérifiant qu'il n'y a pas un répertoire prévu pour que les modifications restent d'une version à l'autre. C'est souvent un répertoire xxxxx.d

Nous sommes naturellement tentés de répondre D ou Z. Dans les deux cas, la façon de continuer l'installation pour choisir Y/I ou N/O n'est toujours pas proposée. Cela va donc se terminer par un abandon de l'installation avec nécessité de la prendre tel qu'indiqué ci-dessous.

Pendant la mise à niveau de nombreux incidents peuvent survenir : une coupure de courant, plus d'accès au serveur de mise à jour ou encore le petit dernier qui débranche la prise électrique. On peut ainsi se retrouver avec une mise à niveau incomplète ou des dépendances non satisfaites.

En cas de problème mineur de dépendances, booter avec un ancien noyau puis tentez les commandes :

sudo dpkg --configure -a

puis :

sudo apt-get -f install
sudo apt update
sudo apt upgrade

FIXME La commande qui suit semble ne plus prendre en compte le -a à vérifier. Si votre mise à niveau ne s'est pas terminée ou qu'un souci majeur est intervenu, vous pouvez tenter la commande :

sudo dpkg-reconfigure -phigh -a

Cette commande aura pour effet de réinstaller et reconfigurer les paquets de la mise à niveau. Notez qu'elle peut durer un certain temps, parfois une heure.

sudo dpkg-reconfigure -phigh -a 
Unknown option: a
Utilisation : dpkg-reconfigure [options] paquets
  -u,  --unseen-only		affiche seulement les questions qui n'ont
                    		pas encore été posées ;
       --default-priority	utilise la priorité par défaut plutôt
                         	que la priorité basse ;
       --force			force la reconfiguration des paquets cassés.
       --no-reload		ne pas recharger les modèles. (à utiliser
                         	avec précaution)
  -f,  --frontend		indique l'interface debconf à utiliser ;
  -p,  --priority		indique la priorité minimale à afficher ;
       --terse			active le mode laconique (« terse »).

Versions non soutenues (obsolètes, fin de vie)

La migration vers une version obsolète d'Ubuntu n'est pas possible. Sauvegarder vos données et installer une version encore soutenue est la seule procédure recommandée.
Les dépôts des vieilles versions n'étant plus supportées (comme 17.10, 18.10 et 19.04) ont été déplacés vers un serveur d'archive. Aussi, il faudra modifier la liste des dépôts : voir cette page.

L'outil en ligne de commande do-release-upgrade permet d'effectuer une mise à niveau d'Ubuntu sans utiliser d'utilitaire graphique. Il est particulièrement pertinent pour les serveurs, qui fonctionnent sans interface graphique. L'ensemble des options de cet outil peut être lu en exécutant la commande :

do-release-upgrade --help

Voici quelques-unes des options les plus utiles :

  • do-release-upgrade --check-dist-upgrade-only

    L'option --check-dist-upgrade-only vérifie l'existence d'une nouvelle version. Si une nouvelle version est trouvée, celle-ci est affichée en résultat dans le terminal. Exécutée ainsi, cette commande n'effectue qu'une vérification ; aucune mise à niveau n'est faite.

  • do-release-upgrade --sandbox

    L'option --sandbox permet de tester une mise à niveau dans un environnement protégé. Ceci est particulièrement utile pour tester le déploiement d'une mise à niveau avant de procéder à son application dans l'environnement de production.

  • do-release-upgrade

    ou avec une interface graphique :

    sudo do-release-upgrade -f DistUpgradeViewGtk3
  • Mise à niveau sans interaction :
    do-release-upgrade -f DistUpgradeViewNonInteractive

Sans option, l'outil do-release-upgrade recherche et procède à une mise à niveau vers la prochaine version LTS ou stable disponible, si elle existe.

Mise à niveau vers une version de développement
Les options suivantes permettent de vérifier l'existence d'une nouvelle version de développement et de procéder à la mise à niveau vers celle-ci. Elles ne devraient être utilisées que dans des environnements de développement, puisqu'elles peuvent être instables et contenir des bogues.
  • do-release-upgrade --check-dist-upgrade-only --devel-release

    Le couple d'options --check-dist-upgrade-only et --devel-release vérifie l'existence d'une nouvelle version de développement. Si une nouvelle version de développement est trouvée, celle-ci est affichée en résultat dans le terminal. Exécutée ainsi, cette commande n'effectue qu'une vérification ; aucune mise à niveau n'est faite.

  • do-release-upgrade --devel-release

    L'option --devel-release recherche et procède à une mise à niveau vers la prochaine version de développement disponible, si elle existe.

Rechercher uniquement des versions LTS

L'outil do-release-upgrade se base sur la politique de mise à niveau telle que définie dans votre fichier /etc/update-manager/release-upgrades. La variable Prompt, en fin de fichier, indique si seules les versions LTS doivent être recherchées ou si toutes les versions (LTS et régulières) doivent être recherchées.

  • Prompt=lts : rechercher les versions LTS uniquement ;
  • Prompt=normal : rechercher toutes les versions ;
  • Prompt=never : ne jamais rechercher de nouvelle version d'Ubuntu.
Vous ne devez sélectionner le mode Prompt=lts que si votre version actuelle d'Ubuntu est une version LTS. Autrement, aucune nouvelle version ne sera détectée par do-release-upgrade.

Si vous choisissez de rechercher les versions LTS uniquement, il ne vous sera pas proposé de passer à la LTS+1 suivante dès sa sortie (par exemple un upgrade de la 12.04.4 LTS vers la 14.04 LTS n'aboutira pas) :

user@machine:~$ sudo do-release-upgrade
Recherche d'une nouvelle version d'Ubuntu
Aucune nouvelle version trouvée

C'est normal ! Il faudra attendre la version LTS+1.1 (14.04.1 par exemple) qui est la première grosse mise à jours corrective et qui est généralement annoncée 3 mois après la sortie de la LTS.
Si vous avez vraiment besoin de mettre à niveau vers la nouvelle LTS, vous pouvez utiliser (à vos risques et périls) l'option -d (--devel-release) signifiant une migration vers la prochaine version en développement) à condition d'être déjà sur une LTS et d'avoir choisi Prompt=lts.
N'hésitez pas à utiliser l'option -c (--check-dist-upgrade-only) en conjonction de -d pour vérifier que vous allez bien migrer vers la version voulue.

Migration en ligne de commande via SSH

Lancer une migration via SSH n'est pas recommandé car cela peut se révéler plus périlleux en cas de problème. Ceci dit, c'est tout à fait possible.

Le script de mise à niveau va alors créer un serveur SSH additionnel écoutant sur le port TCP 1022 (en plus du serveur SSH sur lequel vous êtes connecté). Attention à vos règles de pare-feu qui pourraient bloquer ce port.

Le script sera lancé dans un screen : il sera possible de retrouver son terminal en l'état et donc de continuer la mise à niveau en cas de déconnexion.

  • Pour se reconnecter :
ssh login@pc42 #sur le serveur habituel.

ou

ssh login@pc42 -p 1022 #Si le pare-feu ne le bloque pas.
  • Pour récupérer le terminal :
sudo screen -x

ou

sudo screen -r

Basé sur : UpgradeNotes

Pour les détails voir cette Discussion


1)
La documentation ubuntu-fr ne contient pas d'informations concernant les versions obsolètes, et peu d'utilisateurs du forum sauront vous guider car n'utilisant pas la même version que vous.
  • migration.txt
  • Dernière modification: Le 03/01/2024, 20:09
  • par geole