Accueil

Apt-Listbugs : Éviter les Mises à Jour Buggées

System
Difficulte: Beginner
3 min de lecture

Guide complet pour installer et utiliser apt-listbugs afin d'éviter l'installation de paquets avec des bugs critiques sur un système Debian ou Ubuntu.

Retour aux tutoriels

L'essentiel

  • Une fois installé, apt-listbugs s'accroche automatiquement à apt : toute commande apt install ou apt upgrade est interrompue si un paquet concerné traîne un bug critique, grave ou serious.
  • Le menu interactif propose quatre réponses : y installe malgré tout, n annule uniquement ce paquet et laisse apt continuer avec les autres, p épingle le paquet, ? affiche l'aide.
  • p est le choix le plus sûr : le paquet passe en hold et sera ignoré lors des futures mises à jour jusqu'à déblocage manuel. On retrouve la liste avec dpkg --get-selections | grep hold.
  • Les seuils de sévérité se règlent dans /etc/apt/apt.conf.d/10apt-listbugs via APT::Listbugs::Severities, par défaut "critical,grave,serious" ; ajouter important rend l'outil plus strict.
  • On peut interroger l'outil sans lancer de mise à jour : apt-listbugs list nginx pour un paquet du dépôt, ou apt-listbugs list /path/to/package.deb pour un fichier local.
Qu'est-ce que apt-listbugs ?
apt-listbugs est un outil qui s'intègre à apt pour vérifier les rapports de bugs critiques (Critical, Grave, Serious) d'un paquet avant son installation ou sa mise à jour. Il vous aide à éviter d'installer une version d'un logiciel connu pour causer des problèmes majeurs.

Pourquoi Utiliser apt-listbugs ?

  • Stabilité du système : Prévient l'installation de mises à jour qui pourraient casser votre système.
  • Prise de décision éclairée : Vous informe des risques avant de valider une mise à jour.
  • Sécurité : Un bug peut parfois être une vulnérabilité de sécurité. Être informé est la première étape de la prévention.

Prérequis

  • Système d'exploitation : Debian, Ubuntu ou une distribution dérivée.
  • Privilèges : Accès root ou privilèges sudo.

Installation

L'installation est très simple et se fait via les dépôts officiels :

sudo apt-get update
sudo apt-get install -y apt-listbugs

Une fois installé, il s'activera automatiquement. Lors de votre prochaine commande apt upgrade ou apt install, il entrera en action si nécessaire.

Utilisation typique

Lorsque vous lancez une mise à jour, si un paquet est concerné par un bug sérieux, apt-listbugs interrompra le processus et vous présentera un rapport.

sudo apt-get upgrade

Exemple de sortie

Vous verrez une liste des bugs pour chaque paquet concerné. Après la liste, un menu interactif vous demandera quoi faire :


Reading changelogs... Done
Retrieving bug reports... Done
Parsing bug reports... Done
Critical bugs of libc6 (2.31-13+deb11u2 -> 2.31-13+deb11u3) <unfixed>
 #123456 - libc6: segmentation fault on starting any process
Summary:
 libc6(1 bug)
Are you sure you want to install/upgrade the above packages? [Y/n/?]

Les choix possibles

  • `y` (yes) : Ignorer le bug et installer la mise à jour (non recommandé pour les bugs critiques).
  • `n` (no) : Annuler l'installation ou la mise à jour de CE paquet. apt continuera avec les autres paquets non problématiques.
  • `p` (pin/épingler) : "Geler" la version du paquet. apt ignorera ce paquet lors des futures mises à jour jusqu'à ce que vous le débloquiez manuellement. C'est souvent le meilleur choix.
  • `?` : Affiche l'aide.
L'épinglage (Pinning)
Choisir `p` est une solution sûre. Le paquet est mis en "hold" (retenu). Vous pouvez voir les paquets retenus avec dpkg --get-selections | grep hold.

Consulter les bugs manuellement

Vous pouvez aussi interroger apt-listbugs pour un paquet spécifique sans lancer de mise à jour.

# Consulter les bugs pour le paquet nginx
apt-listbugs list nginx

# Consulter les bugs pour une version spécifique depuis un fichier .deb
apt-listbugs list /path/to/package.deb

Configuration

Le fichier de configuration principal est /etc/apt/apt.conf.d/10apt-listbugs.

Vous pouvez, par exemple, changer les niveaux de sévérité qui déclenchent une alerte :

# /etc/apt/apt.conf.d/10apt-listbugs
APT::Listbugs::Severities "critical,grave,serious";

Vous pourriez ajouter important si vous souhaitez être encore plus prudent.

Ne pas ignorer aveuglément
L'objectif de apt-listbugs est de vous faire réfléchir. Lisez au moins le titre du bug avant de décider d'installer un paquet critique pour votre système.

Conclusion

apt-listbugs est un outil simple mais extrêmement puissant pour maintenir la stabilité de serveurs ou de postes de travail basés sur Debian/Ubuntu. En quelques minutes, il ajoute une couche de protection indispensable contre les régressions logicielles. C'est un "must-have" pour tout administrateur système sérieux.

MR

Écrit par

Morgann Riu

Expert en cybersécurité et administration Linux. Je partage mes connaissances à travers des tutoriels gratuits et des formations pour aider les administrateurs systèmes et développeurs à sécuriser leurs infrastructures.

Questions fréquentes

Mon apt upgrade s'arrête sur un rapport de bugs, que dois-je répondre ?
Lisez au minimum le titre du bug avant de trancher, c'est tout l'intérêt de l'outil. Répondre n annule l'installation de ce seul paquet et laisse apt poursuivre avec les autres, ce qui débloque la mise à jour globale sans prendre de risque. Répondre p va plus loin en épinglant le paquet pour les mises à jour suivantes. Ne répondez y que si vous avez lu le bug et jugé qu'il ne vous concerne pas.
Quelle différence entre répondre n et répondre p ?
n ne vaut que pour l'exécution en cours : le paquet est écarté cette fois-ci, mais il sera reproposé au prochain apt upgrade et vous reverrez le même rapport. p place le paquet en hold : sa version est gelée et apt l'ignorera lors des futures mises à jour jusqu'à ce que vous le débloquiez manuellement. Pour un bug qui va mettre du temps à être corrigé en amont, p est la réponse durable.
Comment savoir quels paquets sont actuellement épinglés ?
La commande dpkg --get-selections | grep hold liste tous les paquets marqués en hold, qu'ils l'aient été par apt-listbugs ou manuellement. C'est le réflexe à avoir quand une mise à jour attendue ne se déclenche jamais : un paquet resté épinglé après la correction du bug bloque silencieusement toutes ses versions ultérieures.
Puis-je vérifier les bugs d'un paquet avant de lancer une mise à jour ?
Oui, l'outil s'utilise aussi en mode manuel, sans passer par apt. apt-listbugs list nginx affiche les rapports de bugs connus pour le paquet nginx. Vous pouvez également cibler un fichier téléchargé avec apt-listbugs list /path/to/package.deb, ce qui est utile avant d'installer un .deb récupéré en dehors des dépôts.
Comment être alerté sur des bugs moins graves, ou au contraire moins souvent ?
Tout se joue dans /etc/apt/apt.conf.d/10apt-listbugs, avec la directive APT::Listbugs::Severities. La valeur par défaut est "critical,grave,serious". Ajoutez important à la liste pour une politique plus prudente sur un serveur sensible, ou retirez des niveaux si les interruptions deviennent trop fréquentes sur un poste de travail.

Partager ce tutoriel

Cet article vous a plu ?

Cet article vous a-t-il été utile ?

Merci pour votre retour !

Commentaires

Recommandé pour vous

Article de fond sur le sujet

Checklist Sécurité Linux

30 points essentiels pour sécuriser un serveur Linux. Recevez aussi les nouveaux tutoriels par email.

Pas de spam. Désabonnement en 1 clic.