DEV Community

Rémy
Rémy

Posted on

Debian 13 Trixie : le format de sources apt deb822

Ça y est, la version 13 de Debian avec son nom de code Trixie est disponible depuis une semaine, publiée le 9 août 2025. Comme à son habitude, la documentation concernant la migration est une vraie pépite qui contient un guide complet de mise à niveau en prenant en compte une grande variété de potentielles difficultés.

Parmi les nombreux changements apportés dans cette version, le format du fichier contenant les sources utilisées par le gestionnaire de paquets apt change : désormais deb822 est disponible et fortement recommandé. L'ancien format est officiellement déprécié et sera éventuellement supprimé, mais pas avant 2029 selon la documentation. Debian 14 Forky sera donc toujours compatible avec l'ancien format.

Pour faciliter la migration, apt dispose d'une commande spécifique : modernize-sources. Introduite au début de cette année 2025, cette dernière permet de facilement migrer vers le nouveau format sans intervention manuelle. Bien que ce soit une étape optionnelle, il est fortement conseillé d'adopter ce format, qui dispose de nombreux avantages.

commit 9d7a660611e9e134cd6d74a594bde59cad77c8d8
Author: Julian Andres Klode 
Date:   Mon Jan 27 15:51:24 2025 +0100
    apt: Introduce the modernize-sources command

    This handles rewriting .list entries to .sources ones; the
    only options handled are

    - signed-by => Signed-By
    - trusted => Trusted

    The options to specify architectures, check-valid-until, etc.
    are not supported as they are not exposed in the code. We
    probably should refactor the parser at some point so we can
    actually read the parsed entry rather than the abstract objects
    we create from it.

    This can be improved further:

    - Keyrings from /etc/apt/trusted.gpg.d should be moved to
      /etc/apt/keyrings.
    - automatic detection by trying to verify using each keyring
      in trusted.gpg.d until we find the right one and then using
      that for Signed-By rather than leave some sources empty.
Enter fullscreen mode Exit fullscreen mode

En réalité, ce format n'est clairement pas nouveau : l'intégration de deb822 dans apt remonte à 2013. Bien que de nombreuses améliorations aient été apportées depuis, ce format s'inspire de la RFC 822. L'objectif est d'améliorer la sécurité, la lisibilité ainsi que la maintenance de ces fichiers sources.

Par le passé, Debian a toujours souhaité adopter des formats standardisés et interopérables quand cela était possible. Par exemple, les métadonnées des paquets gérés par dpkg ou apt utilisent ce format depuis les débuts de Debian. Il s'agit donc d'une uniformisation des pratiques qui étaient déjà présentes en partie dans le système de packaging conçu par Debian.

Voici à quoi ressemble le nouveau format. L'ancien fichier de sources est déplacé vers /etc/apt/sources.list.bak par la commande modernize-sources.

dev@to:~$ cat /etc/apt/sources.list.d/debian.sources

# Modernized from /etc/apt/sources.list
Types: deb deb-src
URIs: http://deb.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://deb.debian.org/debian/
Suites: trixie-updates
Components: main non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Enter fullscreen mode Exit fullscreen mode

Le fichier des sources possède ainsi une nouvelle extension .sources et présente un nouveau champ explicite de sécurité : Signed-By. Dans les anciennes versions, les paquets étaient déjà signés et vérifiés après le téléchargement, mais la vérification s'effectuait directement au niveau du trousseau de clés global du système. En plus de permettre une isolation par dépôt, ce nouveau champ renforce donc la sécurité et améliore la gestion de ces clés.

Pour découvrir toutes les nouvelles fonctionnalités de ce format, la documentation de repolib, la librairie Python pour gérer les sources apt, gérée par PopOS!, revient en détail sur le format deb822.

Pour résumer : le fichier des sources de Debian 13 Trixie passe sur un format plus sécurisé et lisible, migrez dès aujourd'hui avec la commande apt modernize-sources !

Top comments (0)