Linux : mise à niveau de Debian 12 Bookworm vers Debian 13 Trixie
Sommaire
- I. Présentation
- II. Avant de commencer : sauvegardez vos données
- III. Les étapes pour passer de Debian 12 à Debian 13
- A. Votre machine utilise-t-elle Debian 12 ?
- B. Appliquez les dernières mises à jour
- C. Utilisez-vous des paquets non proposés par Debian ?
- D. modifier les dépôts APT
- E. Mise à niveau vers Debian 13
- F. Votre machine utilise-t-elle Debian 13 ?
- G. Nettoyage post-migration
- H. Utiliser le nouveau format pour les sources
- IV. Conclusion
I. Présentation
Dans ce tutoriel, nous allons voir comment effectuer la mise à niveau de Debian 12 Bookworm vers Debian 13 Trixie, étape par étape, pour vous permettre de réaliser l'opération sereinement.
Debian est réputée pour sa stabilité et son cycle de publication régulier. En effet, environ tous les deux ans, une nouvelle version stable vient remplacer l’ancienne. Ainsi, le 9 août 2025, Debian 13 est venue succéder à Debian 12 en tant que version stable la plus récente, avec à la clé, des milliers de paquets mis à jour et un ensemble de nouveautés, dont l'utilisation du noyau Linux 6.12 LTS.
Cette nouvelle version sera prise en charge jusqu'au 30 juin 2030. L'occasion de vous proposer un tableau récapitulatif avec des informations sur les trois versions de Debian encore sous support à ce jour (voir cette page) :
| Version de Debian | Date de sortie | Fin du support standard | Fin du support LTS | Dernière version |
|---|---|---|---|---|
| Debian 13 Trixie | 9 août 2025 | 09 août 2028 | 30 juin 2030 | 13.0 |
| Debian 12 Bookworm | 10 juin 2023 | 10 juin 2026 | 30 juin 2028 | 12.11 |
| Debian 11 Bullseye | 14 août 2021 | 14 août 2024 | 31 août 2026 | 11.11 |
Si vous utilisez Debian 11, vous ne pourrez pas passer directement à Debian 13. Seule la migration de Debian 12 à Debian 13 est supportée, donc dans ce cas, vous devrez procéder en deux temps.
À noter un autre changement important introduit par Debian 13 : les utilisateurs encore sur des systèmes 32 bits devront migrer vers du 64 bits ou envisager une distribution alternative, car Debian 13 a un support très limité du 32 bits.
Vous pouvez en savoir plus sur les nouveautés de Debian 13 en lisant cet article :
II. Avant de commencer : sauvegardez vos données
Avant toute mise à jour majeure d'une machine, la sauvegarde des données est indispensable. En fonction du scénario dans lequel vous vous situez, vous pouvez réaliser cette opération préventive de plusieurs façons :
- Machine virtuelle : réalisez une sauvegarde de la machine virtuelle ou un snapshot (suffisant pour un retour-arrière rapide).
- Machine physique : réalisez une image disque complète de votre système avec un outil comme Clonezilla, UrBackup ou autre selon vos habitudes.
Une autre méthode consiste simplement à utiliser la commande tar pour créer une archive tar.gz des fichiers sensibles. Nous pourrons alors sauvegarder dans cette archive les fichiers situés dans /home, mais aussi dans /etc et /root, et pourquoi pas /var/www si vous avez un site web sur votre machine.
Comment réaliser cette sauvegarde ? L'exemple ci-dessous sert à créer une archive compressée au format tar.gz contenant les répertoires essentiels du système, comme les configurations, les données utilisateurs, les tâches planifiées, et la liste des paquets, afin de disposer d’une sauvegarde avant une mise à niveau.
Elle ignore les erreurs liées à d’éventuels fichiers manquants et exclut les répertoires temporaires ou de cache pour éviter d’alourdir inutilement l’archive. Le fichier généré est stocké dans /root/ avec un nom daté, ce qui permet d’identifier facilement la sauvegarde. En fonction de vos besoins, vous pouvez ajouter d'autres répertoires à la sauvegarde (dernière ligne).
Commencez par exécuter la commande suivante pour créer le fichier packages.list dans le répertoire d'accueil de l'utilisateur actuel. Cela permet d’obtenir un inventaire complet des logiciels installés ou désinstallés. Une opération utile pour sauvegarder la liste des paquets avant la mise à niveau (ou une réinstallation). Ce fichier sera inclus à notre archive globale.
dpkg --get-selections > ~/packages.list
Ensuite, lancez la sauvegarde des données :
sudo tar --ignore-failed-read -czpvf /root/backup-before-upgrade-$(date +%F).tar.gz \
--exclude='/home/*/.cache' \
--exclude='/home/*/.local/share/Trash' \
--exclude='/var/cache' \
--exclude='/var/tmp' \
--exclude='/tmp' \
--exclude='/root/backup-before-upgrade-*.tar.gz' \
/etc /home /root /var/spool/cron /var/lib/dpkg /var/lib/apt/extended_states

Ensuite, transférez l’archive vers un support externe ou accessible via le réseau pour mettre vos données en lieu sûr. Une fois cette étape accomplie, vous pouvez passer à la suite.
III. Les étapes pour passer de Debian 12 à Debian 13
Dans la suite de cet article, nous verrons comment passer de Debian 12 à Debian 13. Veillez à suivre les étapes dans l'ordre tel qu'elles sont présentées. La méthode décrite dans ce tutoriel s'applique aux postes de travail et aux serveurs sous Debian, avec ou sans interface graphique.
L'opération de mise à niveau implique un arrêt des services puisque plusieurs redémarrages sont à prévoir. De plus, veillez à disposer de plusieurs gigaoctets de libre sur votre disque pour que l'opération se déroule correctement (de nombreux paquets seront téléchargés).
A. Votre machine utilise-t-elle Debian 12 ?
Cette vérification vous semble peut-être inutile, mais dans le cas où vous avez un doute, vérifiez que la machine que vous souhaitez mettre à jour utilise bien Debian 12. Ouvrez un terminal et exécutez la commande suivante :
lsb_release -a
Vous devriez obtenir une réponse similaire à celle-ci :
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 12 (bookworm)
Release: 12
Codename: bookworm
Pour afficher la version précise, utilisez :
cat /etc/debian_version
Cette commande me retourne l'information suivante : 12.8.
B. Appliquez les dernières mises à jour
Avant de passer à Debian 13, assurez-vous de disposer d'une machine Debian 12 entièrement à jour. Autrement dit, mettez à jour tous les paquets et le système Debian 12 en lui-même. Exécutez cet enchainement de deux commandes :
sudo apt-get update && sudo apt-get dist-upgrade --autoremove -y
Patientez quelques minutes pendant l'opération, puis redémarrez votre serveur :
sudo reboot
Suite au redémarrage, si vous êtes curieux, vous devriez relancer la commande cat /etc/debian_version pour voir que cette fois-ci, vous disposez de Debian 12.11. Il s'agit de la dernière version de Debian 12.
C. Utilisez-vous des paquets non proposés par Debian ?
Sur une machine Linux, qu'elle soit sous Debian ou une autre distribution, il n'est pas rare d'installer des paquets à partir de dépôts tiers. Docker est un excellent exemple, car il n'est dans les dépôts officiels de Debian.
Vous pouvez lister les paquets installés hors des dépôts Debian officiels avec cette commande. Elle liste les paquets à partir de la commande apt list en appliquant des filtres (patterns).
sudo apt list '?narrow(?installed, ?not(?origin(Debian)))'
Cette commande liste tous les paquets installés qui ne proviennent pas des dépôts officiels Debian. Cela inclut par exemple :
- Des paquets installés manuellement avec
dpkg -i(fichiers.debtéléchargés ailleurs), - Des paquets provenant de dépôts tiers ajoutés dans
/etc/apt/sources.list.d/, - Ou des paquets compilés localement, même si c'est un cas un peu plus rare.
Sur la machine utilisée pour cette démonstration, la commande me remonte un paquet :
En train de lister... Fait
isc-stork-server/bookworm,now 2.2.0.250610122904 amd64 [installé]
Il correspond à Stork, l'interface web pour surveiller le serveur DHCP KEA. À partir de là, vous avez deux options :
- Supprimer le paquet et le réinstaller sur Debian 13
- Conserver le paquet, en partant du principe que c'est un dépôt compatible avec Debian 13
Il est également possible d'ajouter un marqueur hold sur les paquets qui ne doivent pas être mis à jour pour ajouter un verrou. Par exemple :
# Ajouter le verrouillage :
sudo apt-mark hold <nom du paquet>
# Retirer le verrouillage :
sudo apt-mark unhold <nom du paquet>
Ce qui est important ici, afin d'éviter une erreur lors de la mise à niveau, c'est de consulter la liste actuelle des paquets potentiellement hold. Il est fort possible que ce soit vide (dans ce cas, poursuivez sans vous poser de question), mais il vaut mieux anticiper et vérifier.
La documentation officielle de Debian précise : "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."
sudo apt-mark showhold
Ensuite, vous pouvez continuer !
D. modifier les dépôts APT
Actuellement, notre machine pointe vers les dépôts de Debian 12, ainsi que d'éventuels dépôts tiers. Nous devons lui indiquer de pointer vers les dépôts de Debian 13 Trixie pour récupérer les fichiers de cette nouvelle version. Ceci implique de modifier les sources de paquets configurées en local, à savoir le fichier /etc/apt/sources.list et le répertoire /etc/apt/sources.list.d/ pour les dépôts tiers.
Si vous n'avez pas effectué une sauvegarde dans une archive tar.gz, vous pouvez sauvegarder ces fichiers par précaution. Sinon, c'est déjà dedans.
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bkp
sudo cp -r /etc/apt/sources.list.d /etc/apt/sources.list.d.bkp
Puis, nous allons modifier les noms des dépôts pour remplacer les occurrences bookworm en trixie. Inutile de le faire manuellement, la redoutable commande sed va nous aider à effectuer cette action de façon automatisée. Voici la commande à exécuter :
sudo sed -i 's/bookworm/trixie/g' /etc/apt/sources.list /etc/apt/sources.list.d/*
Si vous ouvrez le fichier sources.list, vous pourrez constater que trixie s'est incrusté un peu partout. En complément de non-free dédié aux logiciels propriétaires (pour les paquets NVIDIA, par exemple), le dépôt non-free-firmware est nouveau depuis Debian 12, afin de regrouper les paquets non conformes aux directives de Debian (Debian Free Software Guidelines) correspondants à des firmwares propriétaires.

À titre de comparaison, voici le fichier sources.list par défaut d'une machine Debian 13 :
deb http://ftp.fr.debian.org/debian/ trixie main non-free-firmware
deb-src http://ftp.fr.debian.org/debian/ trixie main non-free-firmware
deb http://security.debian.org/debian-security trixie-security main non-free-firmware
deb-src http://security.debian.org/debian-security trixie-security main non-free-firmware
# trixie-updates, to get updates before a point release is made;
# see https://www.debian.org/doc/manuals/debian-reference/ch02.en.html#_updates_and_backports
deb http://ftp.fr.debian.org/debian/ trixie-updates main non-free-firmware
deb-src http://ftp.fr.debian.org/debian/ trixie-updates main non-free-firmware
# This system was installed using small removable media
# (e.g. netinst, live or single CD). The matching "deb cdrom"
# entries were disabled at the end of the installation process.
# For information about how to configure apt package sources,
# see the sources.list(5) manual.
E. Mise à niveau vers Debian 13
Votre machine est prête à être mise à niveau de Debian 12 vers Debian 13 ! Si vous êtes prêts, exécutez l'enchainement de commandes ci-dessous pour mettre à jour le cache des paquets puis votre distribution Debian.
sudo apt-get update && sudo apt-get dist-upgrade --autoremove -y
Patientez quelques minutes pendant l'opération.

Une fois la mise à niveau terminée, redémarrez :
sudo reboot
F. Votre machine utilise-t-elle Debian 13 ?
Vérifiez ensuite que vous êtes bien sous Debian 13, histoire d'en avoir le cœur net.
lsb_release -a
Cette fois-ci, nous obtenons la sortie suivante :
Distributor ID: Debian
Description: Debian GNU/Linux 13 (trixie)
Release: 13
Codename: trixie
L'opération est un succès !
G. Nettoyage post-migration
Une fois la mise à niveau de Debian 12 vers Debian 13 terminée, il est recommandé d’effectuer un nettoyage du système afin de supprimer les paquets devenus inutiles et de libérer de l’espace disque. Cette opération permet aussi d’éviter que des bibliothèques obsolètes ou des fichiers de configuration résiduels ne s’accumulent au fil du temps.
La commande suivante retire les dépendances installées pour d’autres paquets, mais qui ne sont plus utilisées. L’option --purge permet d’effacer également leurs fichiers de configuration :
sudo apt autoremove --purge
Après une mise à niveau, certains paquets peuvent ne plus exister dans les dépôts de Debian 13. Pour identifier et supprimer ces paquets devenus obsolètes, utilisez la commande suivante.
sudo apt purge '~o'
Attention : vérifiez toujours la liste proposée avant de valider, car certains logiciels tiers peuvent apparaître comme obsolètes tant que leur dépôt n’a pas été mis à jour.
Enfin, pour libérer de l’espace disque, vous pouvez supprimer les anciennes archives .deb qui ne sont plus téléchargeables depuis les dépôts officiels. Cette dernière action est sans risque.
sudo apt autoclean
Ces trois commandes permettent de finaliser la mise à niveau en effectuant un nettoyage. Néanmoins, dans un premier temps, il est conseillé d’exécuter les deux premières commandes avec l’option de simulation (-s) afin de vérifier les suppressions proposées avant leur application effective.
H. Utiliser le nouveau format pour les sources
Pour finir, nous allons exécuter une nouvelle commande présente dans Debian 13 (grâce à la mise à jour d'APT) pour convertir les fichiers de dépôts vers le nouveau format deb822 :
sudo apt modernize-sources
Validez avec O et appuyez sur Entrée.
[sudo] Mot de passe de flo :
The following files need modernizing:
- /etc/apt/sources.list
- /etc/apt/sources.list.d/isc-stork.list
Modernizing will replace .list files with the new .sources format,
add Signed-By values where they can be determined automatically,
and save the old files into .list.bak files.
This command supports the 'signed-by' and 'trusted' options. If you
have specified other options inside [] brackets, please transfer them
manually to the output files; see sources.list(5) for a mapping.
For a simulation, respond N in the following prompt.
Réécrire les sources 2 ? [O/n] O
Modernizing /etc/apt/sources.list...
- Writing /etc/apt/sources.list.d/debian.sources
Modernizing /etc/apt/sources.list.d/isc-stork.list...
- Writing /etc/apt/sources.list.d/isc-stork.sources
Désormais, avec ce format sous la forme clé / valeur, le fichier sources.list n'est plus utilisé. À la place, il y a des fichiers .sources directement dans le répertoire sources.list.d. Voici, par exemple, le fichier debian.sources :
# Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://ftp.fr.debian.org/debian/
Suites: trixie
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://security.debian.org/debian-security/
Suites: trixie-security
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
# Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://ftp.fr.debian.org/debian/
Suites: trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
IV. Conclusion
En suivant ce tutoriel, vous devez réussir la migration de Debian 12 Bookworm vers Debian 13 Trixie. Grâce à cette mise à niveau, vous bénéficiez de la dernière version de Debian pour les prochaines années ! Attention, cette version est encore assez récente, donc il n'est pas à exclure qu'il y a certains bugs ou problèmes de compatibilité. Suite à la migration, veillez à tester vos services critiques hébergés sur votre machine.


Alors attention, parce que je viens de me faire avoir, mais les gens qui ont un VPS OVH installé sous Debian 12, votre source.list utilise DEJA le format deb822 (ça peut surprendre ^^)
Attention, dans le tableau de la présentation de votre article, vous avez marqué Debian 12 Trixie et non Debian 12 Bookworm.
Bonjour,
En effet, je vais corriger ça merci !
Bonjour,
Juste une « coquille » à vous signaler (pour correction) : dans votre tableau on peut lire « Debian 12 Trixie » en lieu et place de « Debian 12 Bookworm ». Merci pour vos articles ! Cordialement.
Bonjour,
En effet, je vais corriger ça merci !
sudo apt purge ‘~o’
—
Sur mon pc où j’avais installé une debian bookworm from scracth cette commande s’est bien passée. Par contre sur mon serveur où j’ai migré depuis debian 11 vers 12 vers 13, il m’a sorti une sacré liste de paquets (6 GB !) comme gnome . Je ne l’ai pas lancé car m’aurait cassé mon install assurément.
Sinon tout s’est bien passé même si j’ai fait un peu à ma sauce les premières étapes.
Merci pour le tuto !
Bonjour,
Et quid pour un Proxmox ?
Mon installation Proxmox est sous Debian 12. Faut-il envisager une migration vers Debian 13 selon votre tutoriel ou existe-t-il une autre façon avec Proxmox ?
Merci pour votre aide et vos tutos.
Bonjour, je me permets de te répondre là mais oui les maj proxmox sont a part,tu peux suivre la procédure https://pve.proxmox.com/wiki/Upgrade_from_8_to_9 que j’ai faite sans soucis. Par contre je n’ai pas testé les formats de fichier source deb822…
Hello Florian,
Merci pour ce tuto toujours clair et agréable.
J’ai une question de curiosité.
Pourquoi utilises-tu apt-get au lieu de apt ?
Sur la doc Debian ils préconisent apt (tout court ^^)
Ce n’est pas une critique, je suis vraiment curieux 🙂
Merci encore.
Hello Marc,
Honnêtement, c’est une vieille habitude 🙂
Pour une action comme ça, apt ferait largement l’affaire en effet.
Bonjour Florian,
Impeccable, merci et bravo pour le tuto!
NH
Bonjour,
Pour ce qui est de la sauvegarde avec « tar » en incluant « root » dans la sauvegarde, ne faut-il pas exclure les « cache » de « root » et certainement tous le « home » de « root » et aussi et surtout le fichier de backup.tar.g.z lui même, car sinon, on a une boucle récursive insoluble me semble t-il ?!
En effet, la commande crée le « tar » dans le homme de « root » et copie le « home » de « root » dans le « tar »…. :/ c’est sans fin non ?
Bonjour Bat,
Ta remarque est pertinente ! Pour autant, je n’ai pas constaté de boucle infinie en utilisant ce bout de code pour faire les sauvegardes. Mais, je vais rajouter la directive
--exclude='/root/backup-before-upgrade-*.tar.gz' \dans la commande pour ne pas chercher à sauvegarder le fichier de backup.Bonjour,
Merci pour ta réponse mais elle arrive trop tard.
En voyant le terminal mouliner sur « root/backup-truc-much » j’ai fermé ce dernier. Ensuite j’ai fait la mise à jour vers Debian-13 pensant que cela réglerait mes soucis. Que néni, la 13 présentait les mêmes problèmes. J’ai donc, impatient, écrasé tout cela en réinstallant directement la 13. Sauf que maintenant je suis incapable d’ouvrir l’archive de « backup-tru-machin », certainement parce que j’ai fermé le terminal avant le terme… Mais bon, avec 40 giga d’archive, ça risquait de mouliner longtemps.
J’ai juste perdu quelques années de dossiers/fichiers…. Grumphhh :/
« gzip: stdin: unexpected end of file
tar: Unexpected EOF in archive
tar: Error is not recoverable: exiting now »
Cela m’apprendra à mieux apprendre et surtout comprendre.
@+
Re bonjour,
Je suis surpris. J’ai laissé un commentaire où je m’interrogeais sur la sauvegarde avec « tar » et je vois que celui-ci a été supprimé sans autre forme de procès….
hmmmm…
Bonjour,
Il n’a pas été supprimé, c’est juste que je dois manuellement approuver les commentaires (pour éviter les spams). Nous sommes samedi, je suis un peu moins réactif.
Yep. Pas de soucis. Sinon, je reste dubitatif sur le fait de placer le backup dans le « home » de « root » et de lui demander de sauvegarder « root ». Ça fait pas une boucle infinie ?
Bonjour Florian,
Merci beaucoup pour ce tuto qui m’a aidé à migrer mon serveur vers Debian 13 sans aucun problème.
Un petit Commentaire:
Une remarque préalable sur la possibilité de réaliser la migration en session SSH m’aurait beaucoup rassuré.
(tout s’est très bien passé à travers SSH)
Encore merci !
Bonjour et merci pour ce tuto bien détaillé.
J’ai arrêté brutalement la sauvegarde avec « tar » (en fermant le terminal) avant de n’avoir pus d’octets libres pour éviter le crash du système car il me sauvegardait entièrement les disques montés.
J’ai ensuite supprimé le fichier backup-before-upgrade que j’ai retrouvé dans /root.
Guillaume.