Dépôts APT Debian : ajouter une source sans fragiliser le système

Réponse courte : gardez les sources Debian officielles pour la base du système. Un dépôt tiers n’entre qu’avec une suite explicitement prise en charge, un fichier .sources lisible, une clé dédiée référencée par Signed-By et un contrôle de l’origine du paquet avant l’installation. Sans ces quatre éléments, ne copiez pas la ligne proposée.
Sommaire
- Lire une source comme APT la lit
- Choisir une suite qui ne changera pas à votre place
- Donner à chaque archive sa propre clé
- Ajouter un dépôt tiers sans perdre le fil
- Voir quel dépôt fournit réellement un paquet
- Comprendre les composants Debian
- Désactiver proprement une source qui pose problème
- Contrôler avant la première installation
Le 17 septembre 2026, sur Ubuntu 24.04.4 LTS avec APT 2.8.3, la commande d’inventaire a renvoyé 19 couples uniques site, suite et composant et 64 cibles d’index en comptant les fichiers actifs de /etc/apt/sources.list.d/. La vérification a lu quatre fichiers, dont deux au format historique .list et deux au format deb822 .sources : la forme du fichier change, mais APT doit toujours relier une archive à une suite et à une clé.
apt-get indextargets --format='$(SITE)|$(RELEASE)|$(COMPONENT)' | sort -u | wc -l
19
apt-get indextargets --format='$(SITE)|$(RELEASE)|$(COMPONENT)|$(IDENTIFIER)' | sort -u | wc -l
64
Lire une source comme APT la lit
Une entrée APT rassemble plusieurs décisions. L’URI désigne l’archive, la suite désigne une publication comme trixie ou trixie-security, le composant désigne une partie de cette archive, et Architectures peut réduire les index téléchargés. Le manuel officiel sources.list(5) de Debian décrit ces champs ainsi que les deux syntaxes acceptées.
Dans l’ancienne syntaxe, une ligne ressemble à ceci :
deb [signed-by=/usr/share/keyrings/debian-archive-keyring.gpg] https://deb.debian.org/debian trixie main contrib non-free non-free-firmware
Le format deb822 sépare les mêmes informations et convient mieux à une lecture avant modification. Un bloc vide sépare deux sources :
Types: deb
URIs: https://deb.debian.org/debian
Suites: trixie trixie-updates
Components: main contrib non-free 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 contrib non-free non-free-firmware
Signed-By: /usr/share/keyrings/debian-archive-keyring.gpg
Les fichiers terminés par .sources vivent généralement dans /etc/apt/sources.list.d/. Dans le format deb822, les valeurs multiples sont séparées par des espaces, tandis que la syntaxe sur une ligne utilise des espaces à l’intérieur de la ligne et des virgules pour certaines options. Une indentation ou un nom de champ mal recopié suffit à rendre la source inutilisable.
Une source APT est correcte quand son archive, sa suite, ses composants et son trousseau décrivent la même distribution.
Choisir une suite qui ne changera pas à votre place
Le nom de code rend la montée de version volontaire. Pour Debian 13, trixie et ses suites associées décrivent précisément la branche visée. Le mot stable suit le statut courant de Debian : il peut donc désigner une autre version après une publication. La référence Debian sur la gestion des paquets recommande de connaître cette différence avant d’écrire les sources.
Cette règle vaut encore plus pour un dépôt tiers. Certains éditeurs publient une suite nommée trixie, d’autres une suite générique comme stable, et d’autres une valeur particulière comme nodistro. La valeur à inscrire est celle que l’éditeur prend réellement en charge, pas celle qui ressemble le plus au nom de Debian. Une archive Ubuntu ne devient pas compatible avec Debian parce qu’elle utilise elle aussi APT.
Conservez une seule famille de distribution dans les sources actives. La documentation Debian déconseille de mélanger Debian avec Ubuntu, et déconseille aussi d’associer stable, testing et unstable sans objectif précis et sans politique APT maîtrisée.
Le nom de code choisi dans un fichier de sources fixe la branche que vous avez décidé de maintenir.
Donner à chaque archive sa propre clé
APT vérifie la signature des métadonnées de l’archive, en particulier son fichier Release. Le manuel apt-secure(8) décrit la chaîne : la signature du fichier Release protège les fichiers d’index et leurs sommes de contrôle, puis APT compare ces informations pendant la mise à jour.
Pour un dépôt tiers, placez le trousseau dans /etc/apt/keyrings/ et indiquez son chemin absolu dans Signed-By. Les trousseaux gérés par un paquet de la distribution peuvent rester dans /usr/share/keyrings/. La séparation évite qu’une clé ajoutée pour un éditeur soit considérée pour toutes les autres archives.
Exemple de bloc à adapter uniquement avec les valeurs publiées par l’éditeur :
Types: deb
URIs: https://packages.example.org/debian
Suites: trixie
Components: main
Architectures: amd64
Signed-By: /etc/apt/keyrings/example-archive.gpg
Le chemin d’installation de la clé et son empreinte doivent venir de la documentation officielle du dépôt. Une commande qui ajoute la clé à un trousseau global, une option trusted=yes ou une désactivation de la vérification contourne la séparation recherchée.
Une signature valide prouve l’authenticité de l’archive et de sa distribution, mais elle ne prouve ni que chaque paquet convient à votre machine ni que le mainteneur assurera la même qualité dans le temps.
Ajouter un dépôt tiers sans perdre le fil
Commencez par noter le paquet recherché et la raison de l’ajout. L’éditeur doit fournir l’URI, la suite, le composant, l’architecture prise en charge, la clé et la méthode de retrait. Si la documentation ne donne pas l’un de ces éléments, gardez l’information en attente plutôt que de remplir le champ au hasard.
Créez ensuite un fichier dédié, par exemple /etc/apt/sources.list.d/example.sources, avec la forme deb822. La restriction d’architecture n’est utile que si elle correspond au paquet publié :
sudo install -d -m 0755 /etc/apt/keyrings
sudo chmod 0644 /etc/apt/keyrings/example-archive.gpg
sudo editor /etc/apt/sources.list.d/example.sources
Ne remplacez pas la ligne URIs par un miroir trouvé dans une réponse de forum et ne remplacez pas la suite documentée par stable pour simplifier la commande. Le fichier doit rester relisible six mois plus tard : un nom de fournisseur, une suite et un trousseau précis valent mieux qu’une ligne courte impossible à attribuer.
Après l’enregistrement, demandez à APT de relire toutes les sources :
sudo apt-get update
Une mise à jour réussie doit identifier l’archive et récupérer ses index sans message de signature manquante, de suite inconnue ou de dépôt non signé. Un message d’erreur arrête la suite : corrigez l’URI, le nom de suite, les permissions du trousseau ou la clé annoncée par l’éditeur avant toute installation.
Ajouter une source se termine par une lecture complète de la sortie d’APT, pas par la présence d’un fichier dans /etc/apt/sources.list.d/.
Voir quel dépôt fournit réellement un paquet
La présence d’un paquet dans la liste ne suffit pas à choisir sa version. apt-cache policy affiche la version installée, la candidate et les origines qui ont fourni les versions connues :
apt-cache policy nom-du-paquet
apt-cache madison nom-du-paquet
Relisez le nom de l’archive, la suite et la priorité avant d’installer. Si plusieurs origines proposent le même paquet, vous devez comprendre la préférence APT au lieu de laisser la version candidate décider seule. Une règle de préférence dans /etc/apt/preferences.d/ est une décision supplémentaire, à documenter avec le même soin que la source.
Pour voir le changement sans l’appliquer, utilisez une simulation :
sudo apt-get --simulate install nom-du-paquet
Le résumé permet de repérer une suppression, une nouvelle dépendance ou un remplacement de paquet. Quand l’origine affichée ne correspond pas à l’éditeur attendu, arrêtez la transaction et relisez les sources ainsi que les priorités.
Sur la machine mesurée plus haut, apt-cache policy apt indiquait la version installée et candidate 2.8.3, avec une origine archive.ubuntu.com/ubuntu, suite noble-updates, composant main. Cette sortie montre la valeur du contrôle : elle relie un paquet à une origine concrète au lieu de déduire son fournisseur du seul nom du paquet.
Comprendre les composants Debian
Les composants ne sont pas des niveaux de fiabilité. main contient le système Debian conforme aux règles de liberté du projet. contrib regroupe des logiciels libres qui dépendent d’éléments extérieurs à main. non-free rassemble des logiciels dont les conditions ne satisfont pas les critères Debian. Depuis Debian 12, non-free-firmware sépare une grande partie des micrologiciels non libres nécessaires à certains matériels.
La page Debian consacrée au firmware explique le déplacement vers non-free-firmware et les cas où l’installateur en a besoin. Activez seulement les composants correspondant à l’usage et aux licences acceptées. Ajouter toute la liste par réflexe élargit la sélection de paquets sans répondre à un besoin précis.
Le composant choisi décrit la partie de l’archive consultée, pas une recommandation générale d’installation.
Désactiver proprement une source qui pose problème
Si une mise à jour d’archive échoue, commencez par isoler la source responsable dans la sortie d’apt-get update. Une source tierce peut être temporairement indisponible, viser une suite retirée ou publier un trousseau différent. Le journal d’APT et le nom du fichier concerné donnent le point de départ.
Dans un fichier deb822, Enabled: no désactive le bloc sans le supprimer :
Types: deb
URIs: https://packages.example.org/debian
Suites: trixie
Components: main
Enabled: no
Signed-By: /etc/apt/keyrings/example-archive.gpg
Dans un fichier .list, commentez la ligne entière avec #. Relancez ensuite sudo apt-get update et vérifiez que les paquets nécessaires restent disponibles depuis les sources officielles. Conservez le fichier et le trousseau tant que vous cherchez pourquoi la source a cessé de fonctionner ; les supprimer ensemble efface des éléments utiles au diagnostic.
Quand l’éditeur abandonne une suite, la bonne réparation consiste à lire son annonce et à décider d’une suite prise en charge. Ne remplacez pas le nom par stable ou testing pour faire disparaître l’erreur.
Contrôler avant la première installation
- Archive : l’URL est officielle pour l’éditeur et utilise la suite attendue.
- Clé : l’empreinte et le fichier de trousseau viennent de l’éditeur ou d’un paquet Debian identifié.
- Portée : le composant et l’architecture correspondent au paquet recherché.
- Origine :
apt-cache policyaffiche le fournisseur voulu. - Transaction :
apt-get --simulatene propose ni suppression surprenante ni mélange de suites.
Ces contrôles prennent moins de temps qu’une réparation de dépendances devenue opaque. Ils donnent aussi une trace exploitable : le fichier de source, le trousseau, la sortie d’APT et l’origine du paquet sont lisibles ensemble.
Pour replacer les dépôts dans la maintenance générale de Debian, consultez administrer les paquets, services et journaux Debian. Pour une installation ou une montée de version, la procédure installer Debian et la mettre à jour traite l’image, les suites et l’ordre des commandes. Si une modification touche le démarrage, comprendre GRUB et les mises à jour Debian sépare le fichier généré des réglages durables.
Un dépôt ajouté avec une suite, une clé et une origine vérifiables reste une décision réversible et compréhensible.