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 et du guide de mise à niveau de la version qui vous concerne avant de procéder.
Mise à niveau et mise à jour : quelle différence ?
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.
La mise à niveau est-elle obligatoire ? Est-elle utile pour moi ?
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.
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 quelle version puis-je effectuer une mise à niveau vers la version la plus récente d'Ubuntu ?
- 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.04 ne peut être effectuée qu'à partir de la précédente version stable 18.10 ;
- 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.
J'ai choisi de passer à la nouvelle version d'Ubuntu. Dois-je prendre des précautions particulières ?
Oui. La mise à niveau effectuant des changements radicaux dans votre système, il est grandement préférable de prendre certaines précautions.
Est-il urgent de procéder à la mise à niveau ?
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.
Migrer en douceur via dual-boot
Très pratique pour passer progressivement d'une version à une autre :
- Consulter le tutoriel : Comment migrer en douceur (par dual-boot).
- Il est aussi possible de faire une installation dans une partition à part en la chaînant pour ne pas interférer avec le menu de démarrage actuel. Voir cette discussion.
Je désire tout de même effectuer une mise à niveau maintenant. Quels conseils pouvez-vous me donner ?
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.
Les serveurs principaux sont surchargés. Existe-t-il des serveurs miroirs depuis lesquels je pourrais effectuer une mise à niveau ?
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. Ceci 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.
Mise à niveau interrompue ou défectueuse.
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, tentez les commandes:
sudo dpkg --configure -a
puis :
sudo apt-get -f install
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 »).
Guides spécifiques de mise à niveau
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ées vers un serveur d'archive. Aussi, il faudra modifier la liste des dépôts: Voir cette page.
Migration en ligne de commande (plutôt destinée aux serveurs ou aux utilisateurs avancés)
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 lue 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
- 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.
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.
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 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 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 firewall 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