4. Mises à niveau depuis Debian 12 (bookworm)

4.1. Actions nécessaires avant la mise à niveau

Nous vous suggérons, avant la mise à niveau, de lire les informations du Problèmes à connaître pour trixie. Ce chapitre couvre des problèmes potentiels qui ne sont pas directement liés au processus de mise à niveau, mais qu’il est important de connaître avant de commencer.

4.1.1. Sauvegarder toutes les données et informations de configuration

Avant de mettre à niveau le système, il est fortement conseillé de faire une sauvegarde complète ou, du moins, une sauvegarde des données et des informations de configuration que vous ne pouvez pas vous permettre de perdre. Les outils de mise à niveau sont tout à fait fiables, mais une panne matérielle au milieu de la mise à niveau peut fortement endommager le système.

Ce que vous devriez principalement sauvegarder est le contenu des répertoires /etc, /var/lib/dpkg, /var/lib/apt/extended_states et la sortie de :

$ dpkg --get-selections '*' # (the quotes are important)

Si vous utilisez aptitude pour gérer les paquets du système, vous devriez aussi sauvegarder /var/lib/aptitude/pkgstates.

Le processus de mise à niveau en lui-même ne modifie rien dans le répertoire /home. Cependant, certaines applications (par exemple, des parties de la suite Mozilla et les environnements de bureau GNOME et KDE) sont connues pour écraser des paramètres utilisateur existants avec de nouvelles valeurs par défaut quand une nouvelle version de l’application est lancée pour la première fois par un utilisateur. Par précaution, vous pouvez faire une sauvegarde des fichiers et répertoires cachés (les « dotfiles ») dans les répertoires personnels des utilisateurs. Cette sauvegarde peut aider à restaurer ou recréer les anciens réglages. Vous pouvez également informer les utilisateurs de ce problème.

Toutes les opérations d’installation de paquets doivent être exécutées avec les privilèges du superutilisateur, vous devez donc soit vous connecter en tant que root, soit utiliser su ou sudo pour obtenir les droits nécessaires.

Il existe quelques conditions préalables à la mise à niveau ; vous devriez les vérifier avant d’effectuer réellement la mise à niveau.

4.1.2. Informer les utilisateurs à l’avance

Il est sage d’informer à l’avance tous les utilisateurs que vous planifiez une mise à niveau, même si les utilisateurs accédant au système par connexion ssh ne devraient pas remarquer grand-chose durant la mise à niveau et devraient pouvoir continuer à travailler.

Si vous voulez prendre des précautions supplémentaires, sauvegardez ou démontez la partition /home avant la mise à niveau.

Vous devrez probablement faire une mise à niveau du noyau lors de la mise à niveau vers trixie, un redémarrage sera donc normalement nécessaire. En général, celui-ci a lieu à la fin de la mise à niveau.

4.1.3. Préparez-vous à un arrêt des services

Certains services fournis par le système peuvent être associés à des paquets concernés par une mise à niveau. Dans ce cas, ces services seront interrompus lorsque les paquets correspondants seront remplacés et configurés. Pendant ce temps, ces services seront indisponibles.

Le temps d’arrêt de ces services va dépendre du nombre de paquets mis à niveau sur le système et du temps mis par l’administrateur système pour répondre aux possibles questions de configuration posées lors de la mise à niveau. Veuillez noter que si le processus de mise à niveau est laissé sans surveillance et que le système demande une information à un moment de la mise à niveau, il y a de grandes chances que des services soient ensuite indisponibles [1] pour une longue durée.

Si le système devant être mis à niveau fournit des services critiques pour vos utilisateurs ou le réseau [2], vous pouvez réduire le temps d’interruption de service en effectuant tout d’abord une mise à niveau minimale du système (consultez Mise à niveau minimale du système), puis une mise à niveau du noyau et un redémarrage, et ensuite une mise à niveau des paquets qui fournissent vos services critiques. Mettez ces derniers à niveau avant de lancer la mise à niveau complète (voir Mettre à niveau le système) pour être sûr que ces services critiques seront lancés et disponibles pendant la mise à niveau complète, et réduire ainsi le temps d’interruption de service.

4.1.4. Soyez prêts à récupérer le système

Bien que Debian essaie d’assurer que votre système puisse être redémarré à tout moment, il y a toujours un risque que vous rencontriez des problèmes lors du redémarrage du système après la mise à niveau. Des problèmes potentiels connus sont documentés dans ce chapitre et les suivants de ces notes de publication.

Pour cette raison, il est raisonnable de s’assurer que vous pourrez récupérer le système s’il ne redémarrait pas, ou, pour les systèmes gérés à distance, si la connexion au réseau échouait.

Si vous effectuez une mise à niveau à distance par un lien ssh, il est recommandé de prendre toutes les précautions nécessaires pour pouvoir accéder au serveur par un terminal série distant. Il est possible qu’après la mise à niveau du noyau et le redémarrage, vous deviez corriger la configuration du système depuis une console locale. Par ailleurs, si le système est redémarré accidentellement au milieu de la mise à niveau, il est possible que vous deviez utiliser une console locale pour réparer le système.

Comme premier secours, nous recommandons d’utiliser le mode de secours (« rescue mode ») de l’installateur Debian de trixie. L’avantage d’utiliser l’installateur est que vous pouvez choisir l’option qui convient le mieux à votre situation parmi ses nombreuses méthodes d’installation. Pour plus d’informations, veuillez consulter la section « Récupérer un système cassé » du chapitre 8 du manuel d’installation (https://www.debian.org/releases/trixie/installmanual) et la Debian Installer FAQ.

Si cela échoue, vous aurez besoin d’une autre méthode pour amorcer le système et le réparer. Une option est d’utiliser une image de récupération spéciale ou une image d’installation autonome. Après avoir démarré à partir de ce support, vous devriez pouvoir monter le système de fichiers racine et effectuer un chroot dans celui-ci pour analyser et corriger le problème.

4.1.4.1. Interpréteur de commande de débogage pendant l’amorçage utilisant un initrd

Le paquet initramfs-tools fournit un interpréteur de commande de débogage [3] dans les initrd qu’il génère. Si, par exemple, l’initrd ne peut pas monter le système de fichiers racine, vous vous retrouverez dans cet interpréteur de commande de débogage. Celui-ci possède des commandes de base qui permettent d’identifier l’origine du problème et peut-être de le corriger.

Les points de base à vérifier sont : la présence de fichiers de périphériques corrects dans /dev ; les modules chargés (cat /proc/modules) ; la sortie de dmesg pour des erreurs liées au chargement de pilotes. La sortie de dmesg affichera également les fichiers de périphériques qui ont été assignés aux disques ; vous devriez vérifier ces points et les comparer à l’affichage de echo $ROOT pour vous assurer que le système de fichiers racine est sur le périphérique attendu.

Si vous parvenez à corriger le problème, entrez exit pour arrêter l’interpréteur de commande de débogage et continuer le processus d’amorçage au point où il avait échoué. Bien sûr, vous devrez également corriger le problème sous-jacent et régénérer l’initrd afin d’éviter un nouvel échec au prochain amorçage.

4.1.4.2. Interpréteur de commande de débogage pendant l’amorçage utilisant systemd

Si le démarrage échoue sous systemd, il est possible d’obtenir une invite de commande de débogage pour l’utilisateur root en modifiant la ligne de commande du noyau. Si le démarrage de base fonctionne, mais que certains services ne parviennent pas à se lancer, il peut être utile d’ajouter systemd.unit=rescue.target aux paramètres du noyau.

Autrement, le paramètre du noyau systemd.unit=emergency.target vous fournira une invite de commande pour l’utilisateur root dès que possible. Cependant, cela se produira avant le montage du système de fichiers racine avec les permissions de lecture et écriture. Vous devrez le monter manuellement avec :

# mount -o remount,rw /

Une autre approche consiste à activer l’ »interpréteur de commandes de débogage anticipé » de systemd grâce à debug-shell.service. Lors du prochain démarrage, ce service ouvrira un interpréteur de connexion du superutilisateur sur tty9 très tôt lors du processus de démarrage. Ce service peut être activé avec le paramètre de démarrage du noyau systemd.debug-shell=1, ou être rendu persistant avec systemctl enable debug-shell (dans ce cas, il faudra le désactiver lorsque le débogage sera terminé).

De plus amples informations sur le débogage d’un démarrage cassé sous systemd sont disponibles dans l’article Freedesktop.org Diagnosing Boot Problems.

4.1.5. Préparer un environnement sain pour la mise à niveau

Important

Si vous utilisez des services VPN (par exemple tinc), gardez à l’esprit qu’ils ne seront peut-être pas disponibles en permanence pendant la mise à niveau. Veuillez consultez la Prepare for downtime on services.

Pour avoir une marge de sécurité supplémentaire lors des mises à niveau à distance, nous vous suggérons d’exécuter les processus de mise à niveau dans la console virtuelle fournie par les programmes screen ou tmux qui permet de se reconnecter en toute sécurité et garantit que le processus de mise à niveau ne sera pas interrompu même si le processus de connexion à distance a été temporairement coupé.

Les utilisateurs du démon watchdog, fourni par le paquet micro-evtd, devraient arrêter le démon et désactiver le minuteur watchdog avant la mise à niveau pour éviter un redémarrage malencontreux au milieu du processus de mise à niveau :

# service micro-evtd stop
# /usr/sbin/microapl -a system_set_watchdog off

4.2. Démarrer depuis une Debian « pure »

Le processus de mise à niveau décrit dans ce chapitre a été conçu pour les systèmes sous Debian stable « pure ». APT contrôle ce qui est installé sur votre système. Si votre configuration d’APT mentionne des sources supplémentaires autres que bookworm, ou si vous avez installé des paquets venant d’autres publications ou de sources tierces, alors pour assurer un processus de mise à niveau sûr, vous devriez commencer par supprimer ces facteurs de complications.

APT is moving to a different format for configuring where it downloads packages from. The files /etc/apt/sources.list and *.list files in /etc/apt/sources.list.d/ are replaced by files still in that directory but with names ending in .sources, using the new, more readable (deb822 style) format. For details see sources.list(5). Examples of APT configurations in these notes will be given in the new deb822 format.

If your system is using multiple sources files then you will need to ensure they stay consistent.

4.2.1. Mise à niveau depuis Debian 12 (bookworm)

Seules les mises à niveau depuis Debian 12 (bookworm) sont prises en charge. Affichez votre version de Debian avec :

$ cat /etc/debian_version

Veuillez suivre les instructions dans les notes de publication de Debian 12 (https://www.debian.org/releases/bookworm/releasenotes) si vous devez tout d’abord mettre la machine à niveau vers Debian 12.

4.2.2. Mettre à niveau vers la dernière révision

Cette procédure suppose que le système a été mis à niveau jusqu’à la dernière révision de bookworm. Si vous ne l’avez pas fait ou si vous n’en êtes pas certain, veuillez suivre les instructions en Mettre à niveau le système bookworm.

4.2.3. Rétroportages Debian

Les rétroportages Debian (« backports ») permettent aux utilisateurs de Debian stable d’exécuter des versions de paquet plus récentes (avec quelques contreparties sur les tests et la prise en charge de la sécurité). L’équipe Debian Backports entretient un sous-ensemble de paquets de la prochaine publication de Debian, ajustés et recompilés pour être utilisés dans la publication actuelle de Debian stable.

Les paquets de bookworm-backports ont des numéros de version plus petits que ceux dans trixie et peuvent donc être mis à niveau vers trixie normalement, de la même manière que les paquets de bookworm « purs », lors de la mise à niveau de la distribution. Même s’il n’y a aucun problème potentiel connu, les chemins de mise à niveau depuis les paquets rétroportés sont moins testés et impliquent par conséquent davantage de risques.

Prudence

While regular Debian Backports are supported, there is no clean upgrade path from sloppy backports (which use APT sources entries referencing bookworm-backports-sloppy).

As with Unofficial sources, users are advised to remove « bookworm-backports » entries from their APT sources files before the upgrade. After it is completed, they may consider adding « trixie-backports » (see https://backports.debian.org/Instructions/).

Pour plus d’informations, consultez la page de wiki concernant les rétroportages.

4.2.4. Préparer la base de données des paquets

You should make sure the package database is ready before proceeding with the upgrade. If you are a user of another package manager like aptitude or synaptic, review any pending actions. A package scheduled for installation or removal might interfere with the upgrade procedure. Note that correcting this is only possible if your APT sources files still point to « bookworm » and not to « stable » or « trixie »; see Checking your APT configuration.

4.2.5. Supprimer les paquets obsolètes

Supprimer les Paquets obsolètes avant la mise à niveau de votre système est une bonne idée. Ils pourraient créer des complications lors du processus de mise à niveau et peuvent présenter des risques de sécurité car ils ne sont plus entretenus.

4.2.6. Supprimer les paquets ne provenant pas de Debian

Ci-dessous deux méthodes sont proposées pour trouver des paquets installés ne provenant pas de Debian en utilisant apt ou apt-forktracer. Veuillez noter qu’aucune d’entre elles n’est précise à 100 % (par exemple, la méthode utilisant apt liste les paquets qui ont été autrefois fournis par Debian mais qui ne le sont plus maintenant, comme les anciens paquets de noyau).

$ apt list '?narrow(?installed, ?not(?origin(Debian)))'
$ apt-forktracer | sort

4.2.7. Supprimer les résidus de fichiers de configuration

Une mise à niveau précédente pourrait avoir laissé des copies inutilisées de fichiers de configuration, d’anciennes versions de fichiers de configuration, des versions fournies par des responsables de paquets, etc. Supprimer ces résidus de mises à niveau précédentes peut éviter des confusions. Trouvez ces fichiers inutiles avec :

# find /etc -name '*.dpkg-*' -o -name '*.ucf-*' -o -name '*.merge-error'

4.2.8. Les composants non-free et non-free-firmware

If you have non-free firmware installed it is recommended to add non-free-firmware to your APT sources.

4.2.9. La section proposed-updates

If you have listed the proposed-updates section in your APT sources files, you should remove it before attempting to upgrade your system. This is a precaution to reduce the likelihood of conflicts.

4.2.10. Sources non officielles

If you have any non-Debian packages on your system, you should be aware that these may be removed during the upgrade because of conflicting dependencies. If these packages were installed by adding an extra package archive in your APT sources files, you should check if that archive also offers packages compiled for trixie and change the source item accordingly at the same time as your source items for Debian packages.

Certains utilisateurs peuvent avoir installé sur leur système bookworm des versions non officielles rétroportées de paquets plus récentes que celles qui sont dans Debian. De tels paquets sont les plus susceptibles de poser problème lors d’une mise à niveau, car ils peuvent entraîner un conflit de fichiers [4]. La Possible issues during upgrade donne quelques informations sur la façon de gérer les conflits de fichiers s’ils se produisent.

4.2.11. Désactiver l’épinglage APT

Si vous avez configuré APT pour installer certains paquets d’une distribution autre que « stable » (par exemple, de « testing »), il se peut que vous deviez changer la configuration d’épinglage APT (« APT pinning ») (stockée dans /etc/apt/preferences et /etc/apt/preferences.d) pour permettre la mise à niveau de paquets vers les versions de la nouvelle version stable. Vous trouverez plus d’informations sur l’épinglage dans apt_preferences(5).

4.2.12. Vérifier l’état des paquets

Quelle que soit la méthode utilisée pour mettre à niveau, il est recommandé de tester d’abord l’état de tous les paquets et de vérifier qu’ils se trouvent tous dans un état permettant la mise à niveau. La commande suivante vous indiquera tous les paquets qui sont dans l’état « Half-Installed » ou « Failed-Config », et ceux qui sont dans un état d’erreur.

$ dpkg --audit

Vous pouvez aussi vérifier l’état de tous les paquets du système en utilisant aptitude, ou avec des commandes comme :

$ dpkg -l

ou

# dpkg --get-selections '*' > ~/curr-pkgs.txt

Vous pouvez également utiliser apt.

# apt list --installed > ~/curr-pkgs.txt

Il est souhaitable d’enlever tous les blocages de paquets avant de procéder à la mise à niveau. Si un paquet essentiel pour la mise à niveau est bloqué, cette dernière échouera.

$ apt-mark showhold

Si vous aviez modifié et recompilé un paquet localement sans changer son nom et sans mettre de cycle de traitement (« epoch ») dans la version, vous devez le bloquer pour éviter qu’il ne soit mis à niveau.

Vous pouvez changer l’état de blocage d’un paquet pour apt en utilisant :

# apt-mark hold package_name

Remplacer hold par unhold pour annuler la définition de l’état « hold ».

If there is anything you need to fix, it is best to make sure your APT sources files still refer to bookworm as explained in Checking your APT configuration.

4.3. Preparing APT sources files

Before starting the upgrade you must reconfigure APT to add sources for trixie and typically remove sources for bookworm.

As mentioned in Démarrer depuis une Debian « pure », we recommend that you use the new deb822-style format, so you would have to replace /etc/apt/sources.list and any *.list files in /etc/apt/sources.list.d/ by only one file named debian.sources in /etc/apt/sources.list.d/ (if you haven’t done so already). An example is given below of how this file should typically look.

APT prendra en compte tout paquet qui peut être trouvé grâce à chaque archive configurée et installera le paquet ayant le numéro de version le plus élevé, en donnant la priorité à la première entrée dans les fichiers. Ainsi, si vous avez plusieurs miroirs, indiquez d’abord ceux situés sur les disques dur locaux, puis ceux sur CD-ROM, et enfin les miroirs distants.

Une version peut être référencée à la fois par son nom de code (par exemple, « bookworm », « trixie ») et par son nom d’état (c’est-à-dire « oldstable », « stable », « testing », « unstable »). Se référer à une version par son nom de code évite d’être surpris par une nouvelle version et c’est pour cette raison que cette approche a été choisie ici. Bien sûr, vous devez surveiller vous-même les annonces des nouvelles versions. Si vous utilisez les noms d’état, vous verrez simplement une grande quantité de mises à jour de paquets disponibles dès qu’une publication a eu lieu.

Debian fournit deux listes de diffusion d’annonces pour vous aider à rester à jour au sujet des informations importantes liées aux publications de Debian :

4.3.1. Ajouter des sources Internet à APT

Sur les nouvelles installations, le comportement par défaut d’APT est d’utiliser le service CDN pour APT de Debian, ce qui assure que les paquets sont téléchargés automatiquement depuis un serveur de proximité en terme de réseau. Comme il s’agit d’un service relativement récent, les anciennes installations pourraient avoir une configuration pointant toujours vers l’un des principaux serveurs Debian sur Internet ou un des miroirs. Si vous ne l’avez pas encore fait, il est recommandé d’utiliser le service CDN dans votre configuration APT.

To make use of the CDN service, the correct configuration for APT (assuming you are using main and non-free-firmware) is the following in /etc/apt/sources.list.d/debian.sources:

Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Types: deb
URIs: https://security.debian.org/debian-security
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

Make sure to remove any of the old sources files.

However, if you get better results using a specific mirror that is close to you in network terms instead of the CDN service, then the mirror URI can be substituted in the URIs line as (for instance) « URIs: https://mirrors.kernel.org/debian ».

If you want to use packages from the contrib or non-free components, you may add these names to all the Components: lines.

After adding your new sources, disable the previously existing archive entries in the APT sources files by placing a hash sign (#) in front of them.

4.3.2. Ajouter les sources d’un miroir local à APT

Instead of using remote package mirrors, you may wish to modify the APT sources files to use a mirror on a local disk (possibly mounted over NFS).

Par exemple, le miroir de paquets peut être sous /var/local/debian/, et avoir des répertoires principaux tels que :

/var/local/debian/dists/trixie/main/...
/var/local/debian/dists/trixie/contrib/...

To use this with apt, add the following to your /etc/apt/sources.list.d/debian.sources file:

Types: deb
URIs: file:/var/local/debian
Suites: trixie
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg

À nouveau, après avoir ajouté vos nouvelles sources, désactivez les entrées d’archives préexistantes.

4.3.3. Ajouter les sources d’un média optique à APT

If you want to use only DVDs (or CDs or Blu-ray Discs), comment out the existing entries in all the APT sources files by placing a hash sign (#) in front of them.

Assurez-vous de la présence d’une ligne dans /etc/fstab qui autorise le montage du CD au point de montage /media/cdrom. Par exemple, si /dev/sr0 est le lecteur de CD, le fichier /etc/fstab devrait contenir une ligne comme celle-ci :

/dev/sr0 /media/cdrom auto noauto,ro 0 0

Remarquez qu’il ne doit pas y avoir d’espace entre les mots noauto,ro dans la quatrième colonne.

Pour vérifier que cela fonctionne, insérez un CD et essayez d’exécuter :

# mount /media/cdrom    # this will mount the CD to the mount point
# ls -alF /media/cdrom  # this should show the CD's root directory
# umount /media/cdrom   # this will unmount the CD

Puis, lancez :

# apt-cdrom add

pour chaque CD de binaires Debian en votre possession, afin d’ajouter ses données dans la base de données d’APT.

4.4. Mettre à niveau les paquets

La méthode recommandée pour mettre à niveau depuis les versions précédentes de Debian est d’utiliser l’outil de gestion de paquets apt.

Note

apt est conçu pour une utilisation interactive et ne devrait pas être utilisé dans des scripts. Les scripts devraient utiliser apt-get qui a une sortie stable plus adaptée à l’analyse automatique.

N’oubliez pas de monter les partitions requises (notamment les partitions racine et /usr) en lecture et écriture, avec une commande du type :

# mount -o remount,rw /mountpoint

Next you should double-check that the APT sources entries (in files under /etc/apt/sources.list.d/) refer either to « trixie » or to « stable ». There should not be any sources entries pointing to bookworm.

Note

Sources lines for a CD-ROM might sometimes refer to « unstable »; although this may be confusing, you should not change it.

4.4.1. Enregistrer la session

apt will log the changed package states in /var/log/apt/history.log and the terminal output in /var/log/apt/term.log. dpkg will, in addition, log all package state changes in /var/log/dpkg.log. If you use aptitude, it will also log state changes in /var/log/aptitude.

If a problem occurs, you will have a log of what happened, and if needed, can provide exact information in a bug report.

The term.log will also allow you to review information that has scrolled off-screen. If you are at the system’s console, just switch to VT2 (using Alt+F2) to review it.

4.4.2. Mettre à jour la liste des paquets

La liste des paquets disponibles pour la nouvelle version doit tout d’abord être récupérée, avec cette commande :

# apt update

4.4.3. Assurez-vous d’avoir suffisamment d’espace disque pour la mise à niveau

Avant de faire la mise à niveau complète du système, telle qu’elle est décrite en Upgrading the system, vous devez vous assurer d’avoir suffisamment d’espace disque. En effet, tous les paquets nécessaires à l’installation sont stockés dans /var/cache/apt/archives (et dans le sous-répertoire partial/ pendant le téléchargement). Vous devez donc vous assurer d’avoir suffisamment de place sur la partition qui contient /var/. Après le téléchargement, vous aurez probablement encore besoin de plus d’espace disque sur les autres partitions de système de fichiers pour pouvoir installer à la fois les paquets mis à niveau (qui peuvent contenir des binaires plus gros ou davantage de données) et les nouveaux paquets. Si l’espace disque vient à manquer, la mise à niveau sera incomplète, ce qui peut rendre le système difficile à récupérer.

Le programme apt peut afficher des informations détaillées à propos de l’espace disque nécessaire à l’installation. Vous pouvez obtenir cette estimation avant d’effectuer vraiment la mise à niveau avec la commande :

# apt -o APT::Get::Trivial-Only=true full-upgrade
[ ... ]
XXX upgraded, XXX newly installed, XXX to remove and XXX not upgraded.
Need to get xx.xMB of archives.
After this operation, AAAMB of additional disk space will be used.

Note

Exécuter cette commande au début du processus de mise à niveau peut provoquer une erreur pour les raisons décrites dans les sections suivantes. Dans ce cas, vous devez attendre d’avoir effectué la mise à niveau minimale du système (comme décrit dans Mise à niveau minimale du système) avant d’exécuter cette commande pour estimer l’espace disque nécessaire.

Si vous n’avez pas assez d’espace disque pour la mise à niveau, apt vous enverra un message comme :

E: You don't have enough free space in /var/cache/apt/archives/.

Si vous n’avez pas assez d’espace disque pour la mise à niveau, assurez-vous d’en libérer. Vous pouvez :

  • Supprimer les paquets qui ont été téléchargés auparavant (dans /var/cache/apt/archives). Nettoyer le cache des paquets avec apt clean, cela supprimera tous les paquets téléchargés auparavant ;

  • Supprimer les paquets oubliés. Si vous avez utilisé aptitude ou apt pour installer manuellement des paquets dans bookworm, le programme aura gardé la trace de ces paquets et pourra marquer comme redondants les paquets installés par le seul jeu des dépendances et qui ne sont plus nécessaires suite à la désinstallation d’un paquet. Ils ne marquent pas pour la suppression les paquets que vous avez installés manuellement. Pour supprimer les paquets installés automatiquement et qui ne sont plus utilisés, exécutez :

    # apt autoremove
    

    Vous pouvez aussi utiliser debfoster pour trouver des paquets redondants. Ne supprimez pas à l’aveuglette les paquets que signale cet outil, en particulier si vous utilisez des options explicites et agressives qui sont susceptibles de créer des faux positifs. Il est fortement recommandé de passer en revue manuellement les paquets signalés comme devant être supprimés (c’est-à-dire vérifier leurs contenu, taille et description) avant de décider de les supprimer.

  • Supprimer les paquets qui prennent trop d’espace et qui ne sont pas actuellement nécessaires (vous pourrez les réinstaller après la mise à niveau). Si popularity-contest est installé, vous pouvez utiliser popcon-largest-unused pour faire la liste des paquets occupant le plus d’espace. Vous pouvez afficher les paquets qui prennent le plus de place avec dpigs (disponible dans le paquet debian-goodies) ou avec wajig (en lançant wajig size). Ils peuvent également être trouvés avec aptitude. Lancez aptitude en mode terminal complet, choisissez Vues > Nouvelle vue des paquets, l puis ~i, tapez S puis ~installsize, ce qui créera une liste pratique pour travailler.

  • Supprimer les traductions et les fichiers de régionalisation du système, s’ils ne sont pas nécessaires. Vous pouvez installer le paquet localepurge et le configurer de manière à ce qu’un jeu restreint de paramètres régionaux (« locales ») soit conservé sur le système. Cela réduira la place occupée dans /usr/share/locale.

  • Déplacer temporairement vers un autre système les journaux système résidant sous /var/log/ (ou les supprimer définitivement).

  • Utiliser un répertoire /var/cache/apt/archives temporaire. Vous pouvez utiliser un cache temporaire d’un autre système de fichiers, un périphérique de stockage USB, un disque dur temporaire, un système de fichiers en cours d’utilisation, etc.

    Note

    N’utilisez pas de montage NFS, car la connexion réseau pourrait être interrompue au cours de la mise à niveau.

    Par exemple, si une clé USB est montée sur /media/cleusb :

    1. supprimez les paquets téléchargés lors d’une précédente installation :

      # apt clean
      
    2. copiez le répertoire /var/cache/apt/archives sur le disque USB :

      # cp -ax /var/cache/apt/archives /media/usbkey/
      
    3. montez le répertoire de cache temporaire à la place de l’actuel :

      # mount --bind /media/usbkey/archives /var/cache/apt/archives
      
    4. après la mise à niveau, rétablissez le répertoire /var/cache/apt/archives initial :

      # umount /var/cache/apt/archives
      
    5. supprimez le répertoire subsistant /media/cleusb/archives.

    Vous pouvez créer le répertoire de cache temporaire dans n’importe quel système de fichiers monté sur le système.

  • Effectuez une mise à niveau du système minimale (consultez Mise à niveau minimale du système) ou partielle suivie d’une mise à niveau complète. Cela vous permettra de mettre à niveau partiellement le système et de nettoyer le cache des paquets avant la mise à niveau complète.

Note that in order to safely remove packages, it is advisable to switch your APT sources files back to bookworm as described in Checking your APT configuration.

4.4.4. Arrêter les systèmes de monitoring

Comme apt pourrait avoir besoin d’arrêter temporairement des services s’exécutant sur votre ordinateur, arrêter les services de monitoring qui peuvent relancer d’autres services interrompus est probablement une bonne idée pendant la mise à niveau. Dans Debian, monit est un exemple d’un tel service.

4.4.5. Mise à niveau minimale du système

Dans certains cas, le lancement d’une mise à niveau complète (décrite ci-dessous) supprimera un grand nombre de paquets que vous voudriez garder. Nous recommandons par conséquent une action en deux temps : commencer par une mise à niveau minimale pour résoudre ces conflits, puis faire une mise à niveau totale (consultez Mettre à niveau le système).

Pour ce faire, exécutez d’abord :

# apt upgrade --without-new-pkgs

Cette commande met à niveau les paquets qui peuvent l’être sans entraîner l’installation ou la suppression d’autres paquets.

La mise à niveau minimale peut aussi être utilisée sur un système limité en taille, sur lequel une mise à niveau complète prendrait trop d’espace.

Si le paquet apt-listchanges est installé avec sa configuration par défaut, il affichera de manière interactive les informations importantes sur les paquets mis à niveau après leur téléchargement. Il est nécessaire d’utiliser la touche q une fois ces informations lues afin de quitter l’affichage interactif et poursuivre la mise à niveau.

4.4.6. Mettre à niveau le système

Vous êtes maintenant prêt à continuer avec la partie principale de la mise à niveau. Exécutez :

# apt full-upgrade

Cette commande effectue une mise à niveau complète du système, en installant les versions les plus récentes de tous les paquets, et en résolvant tous les changements possibles de dépendances entre paquets des différentes versions. Si nécessaire, elle installe de nouveaux paquets (habituellement de nouvelles versions de bibliothèques, ou des paquets ayant changé de nom), et retire les paquets obsolètes en conflit.

Lorsque la mise à niveau se fait à partir d’un ensemble de CD, DVD ou BD, on vous demandera d’insérer d’autres disques à plusieurs moments de la mise à niveau. Vous pourriez devoir insérer plusieurs fois le même disque. Cela est dû aux interdépendances de paquets réparties sur plusieurs supports.

Les paquets déjà installés avec une nouvelle version qui ne peuvent pas être mis à jour sans modifier l’état d’installation d’un autre paquet seront laissés dans leur version actuelle (et affichés comme retenus : « held back »). Cela peut être résolu soit en utilisant aptitude pour choisir d’installer ces paquets, soit en essayant apt install paquet.

4.5. Problèmes possibles pendant une mise à niveau

Les parties suivantes décrivent les problèmes connus pouvant survenir lors d’une mise à niveau vers trixie.

4.5.1. La mise à niveau échoue avec « Impossible de faire une configuration immédiate »

Dans certains cas, l’étape apt full-upgrade peut échouer après le téléchargement des paquets avec :

E: Could not perform immediate configuration on 'package'.  Please see man 5 apt.conf under APT::Immediate-Configure for details.

Si cela se produit, exécuter apt full-upgrade -o APT::Immediate-Configure=0 à la place devrait permettre la mise à niveau.

Another possible workaround for this problem is to temporarily add both bookworm and trixie sources to your APT sources files and run apt update.

4.5.2. Suppressions attendues

La mise à niveau vers trixie peut demander la suppression de paquets sur le système. Leur liste exacte dépendra des paquets installés. Ces notes de publication donnent des conseils généraux sur ces suppressions, mais en cas de doute, il est recommandé d’examiner les suppressions de paquets proposées par chacune des méthodes avant de les effectuer réellement. Pour plus d’informations à propos des paquets devenus obsolètes dans trixie, veuillez consulter Paquets obsolètes.

4.5.3. Boucles de conflits ou de prédépendances

Il est parfois nécessaire d’activer l’option d’APT APT::Force-LoopBreak pour pouvoir retirer temporairement un paquet essentiel à cause d’une boucle « Conflicts/Pre-Depends ». apt vous alertera à ce propos et interrompra la mise à niveau. Vous pouvez contourner ce problème en passant l’option -o APT::Force-LoopBreak=1 sur la ligne de commande d’apt.

Il est possible que la structure de dépendances d’un système soit tellement défectueuse qu’elle requière une intervention manuelle. Habituellement, cela signifie qu’il faut utiliser apt ou :

# dpkg --remove package_name

pour éliminer certains des paquets en cause, ou :

# apt -f install
# dpkg --configure --pending

Dans certains cas extrêmes, vous pourriez devoir forcer une réinstallation à l’aide d’une commande comme :

# dpkg --install /path/to/package_name.deb

4.5.4. Conflits de fichiers

Les conflits de fichiers ne devraient pas se produire si vous mettez à niveau depuis un système bookworm « pur », mais ils peuvent se produire si des rétroportages non officiels sont installés. Un conflit de fichiers entraînera une erreur de ce type :

Unpacking <package-foo> (from <package-foo-file>) ...
dpkg: error processing <package-foo> (--install):
trying to overwrite `<some-file-name>',
which is also in package <package-bar>
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Errors were encountered while processing:
<package-foo>

Vous pouvez tenter de résoudre un conflit de fichiers en forçant la suppression du paquet mentionné sur la dernière ligne du message d’erreur :

# dpkg -r --force-depends package_name

Après cela, vous devriez être en mesure de continuer la mise à niveau, en utilisant les commandes d”apt précédemment décrites.

4.5.5. Changements de configuration

Durant la mise à niveau, des questions vous seront posées pour configurer ou reconfigurer plusieurs paquets. Quand il vous sera demandé si des fichiers du répertoire /etc/init.d ou le fichier /etc/manpath.config doivent être remplacés par la version du responsable du paquet, il est généralement nécessaire de répondre « oui » pour assurer la cohérence du système. Vous pouvez toujours revenir aux versions précédentes, puisqu’elles sont sauvegardées avec une extension .dpkg-old.

Si vous n’êtes pas certain de ce qu’il faut faire, notez le nom du paquet ou du fichier et examinez le problème plus tard. Vous pouvez chercher dans le fichier d’enregistrement pour revoir les informations qui étaient à l’écran lors de la mise à niveau.

4.5.6. Changement de session sur la console

Si vous faites la mise à niveau depuis la console locale du système, il est possible qu’à certains moments de la mise à niveau la console passe à une vue différente, et que la mise à niveau du système ne soit plus observable. Cela peut par exemple être le cas pour les systèmes qui ont une interface graphique, quand le gestionnaire d’affichage est relancé.

Pour revenir à la console traitant le processus de mise à niveau, utilisez les touches Ctrl+Alt+F1 (si vous avez une interface de connexion graphique) ou Alt+F1 (si vous avez une console texte locale) pour revenir au terminal virtuel 1. Remplacez F1 avec la touche Fx où x correspond au numéro du terminal sur lequel se déroule la mise à niveau. Vous pouvez aussi utiliser Alt+flèche-gauche ou Alt+flèche-droite pour passer d’un terminal en mode texte à un autre.

4.7. Préparations pour la prochaine version

Après la mise à niveau, il y a plusieurs choses que vous pouvez faire pour préparer la prochaine version.

4.7.1. Purger les paquets supprimés

Il est généralement conseillé de purger les paquets supprimés. C’est particulièrement vrai si ceux-ci ont été supprimés lors d’une mise à niveau précédente (par exemple la mise à niveau vers bookworm) ou s’ils ont été fournis par des vendeurs tiers. En particulier, les anciens scripts init.d sont connus pour causer des problèmes.

Prudence

En général, purger un paquet purgera également ses fichiers de journaux, donc vous pourriez vouloir les sauvegarder d’abord.

La commande suivante affiche une liste de tous les paquets supprimés qui pourraient avoir laissé des fichiers de configuration sur le système (s’il y en a) :

$ apt list '~c'

Les paquets peuvent être supprimés en utilisant apt purge. En supposant que vous souhaitiez tous les purger en une seule fois, vous pouvez utiliser la commande suivante :

# apt purge '~c'

4.8. Paquets obsolètes

Avec trixie, de nombreux nouveaux paquets apparaissent, tandis que bon nombre d’anciens paquets présents dans bookworm disparaissent. Il n’est pas prévu de procédure de mise à niveau pour ces paquets obsolètes. Bien que rien ne vous empêche de continuer à utiliser ces paquets si vous le désirez, le projet Debian arrête habituellement leur suivi de sécurité un an après la sortie de trixie [5], et n’assure normalement pas d’autre prise en charge dans l’intervalle. Il est recommandé de remplacer ces paquets par leurs remplaçants disponibles s’ils existent.

Il y a plusieurs raisons pour lesquelles un paquet peut avoir été retiré de la distribution : il n’est plus entretenu en amont, il n’y a plus de responsable Debian intéressé par l’entretien du paquet, la fonctionnalité fournie par le paquet a été remplacée par un logiciel différent (ou une nouvelle version) ou il n’est plus considéré comme convenable pour trixie en raison de ses bogues. Dans ce dernier cas, le paquet peut cependant toujours être présent dans la distribution « unstable ».

Les « paquets obsolètes ou créés localement » peuvent être listés et purgés en ligne de commande avec :

$ apt list '~o'
# apt purge '~o'

Le système de suivi des bogues de Debian fournit souvent des informations complémentaires sur les raisons pour lesquelles un paquet a été retiré. Vous devriez consulter à la fois les comptes-rendus de bogue archivés pour le paquet lui-même et ceux du pseudo-paquet ftp.debian.org.

Pour une liste des paquets obsolètes de trixie, veuillez vous référer à Paquets obsolètes.

4.8.1. Paquets factices de transition

Certains paquets de bookworm peuvent avoir été remplacés dans trixie par des paquets factices de transition qui sont des substituts vides conçus pour faciliter les mises à niveau. Si par exemple une application qui était précédemment un paquet simple a été découpée en deux paquets, un paquet de transition du même nom que l’ancien paquet peut être fourni ayant des dépendances appropriées qui déclenchent l’installation des nouveaux paquets. Après cette transition, le paquet factice redondant peut être supprimé en toute sécurité.

La plupart des descriptions des paquets factices de transition indiquent le but de ces derniers. Cependant, elles ne sont pas uniformes ; en particulier, certains paquets « factices » sont conçus pour rester installés afin d’installer une suite logicielle complète ou pour déterminer quelle est la version la plus récente d’un programme.