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 :
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.
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 :
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.
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.
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 :
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.
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
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.
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 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
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 »).
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
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.
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.
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.
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.
ssh login@pc42 #sur le serveur habituel.
ou
ssh login@pc42 -p 1022 #Si le pare-feu ne le bloque pas.
sudo screen -x
ou
sudo screen -r
La commande
uname -mr
permet de visualiser quel noyau est actif actuellement .
Lorsque la Mise à Niveau est terminée , il reste encore a nettoyer le système , car elle ne fait pas tout automatiquement . La 1ere des choses à faire est de redémarrer l' ordinateur afin de vérifier que le nouveau noyau prend bien en compte tout votre matériel et qu ' il n' y a pas eu de régression .
Après le redémarrage , si vous repassez donc
uname -mr
vous verrez que le noyau actif a changé . Vérifiez bien que tout votre matériel fonctionne . wifi , bluetooth etc …
Certains paquets ne sont plus utiles , mais sont toujours installés sur votre système , pour les supprimer :
sudo apt autoremove --purge
Pour supprimer les résidus de configuration de ces paquets ( et ceux modifiés lors de la migration ) :
sudo apt purge ~c
Sujet sensibles … la MAN ne gère pas la suppression des anciens noyaux directement , et c' est plutôt bien , car si jamais il y a un problème avec le nouveau noyau et que la MAN supprime les anciens , cela pourrait être dramatique .
Cependant , après une période de test de 15 jours , il est bon de supprimer les noyaux de l ' ancienne version . Cela ne peut se faire qu ' à la main .
Si vous aviez des dépôts tiers , ils ont été désactivés . Comme vous avez probablement lu toute la page , vous avez donc vérifiez que les logiciels que vous utilisez par l' intermédiaire de ces dépôts sont disponibles pour la nouvelle version d ' ubuntu . Maintenant il faut éditer ces fichiers pour les " assortir " a votre nouvelle version . il va falloir remplacer les noms de l ' ancienne version d ' ubuntu par celui de la nouvelle . par exemple , si vous étiez sur " jammy " ( 22.04 LTS ) et que vous venez de faire la Mise à Niveau " noble " ( 24.04 LTS ) , il faudra remplacer toutes les occurrences de " jammy " par " noble " dans tous les fichiers *.sources ou *.list .
Vérifiez ensuite avec :
sudo apt update
qu ' il n ' y a pas d ' erreur .
Basé sur : UpgradeNotes
Pour les détails voir cette Discussion