Vous n'êtes pas identifié(e).
L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
doc:systeme:apt:apt-listbugs [28/02/2016 17:06] milou [apt-listbugs] |
doc:systeme:apt:apt-listbugs [18/05/2024 22:12] (Version actuelle) Jean-Pierre Pinson [Que faire si un paquet bugué est détecté ?] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | |||
====== apt-listbugs ====== | ====== apt-listbugs ====== | ||
- | * Objet : Pour éviter d'installer un paquet avec un bug grave, il est fortement conseillé d'installer **apt-listbugs** qui a l'amabilité de prévenir. | + | * Objet : Vérifier qu'un paquet ne contienne pas de bug grave avant de l'installer. |
* Niveau requis : {{tag> avisé}} | * Niveau requis : {{tag> avisé}} | ||
* Commentaires : //Logiciel de suivi des bogues. C'est pas mignon ça ? :-D// | * Commentaires : //Logiciel de suivi des bogues. C'est pas mignon ça ? :-D// | ||
- | * Suivi : {{tag>à-compléter à-tester}} | + | * Suivi : |
* Création par [[user>smolski]] le 11-06-2010 | * Création par [[user>smolski]] le 11-06-2010 | ||
* Mise à jour par [[user>smolski]] le 06-02-2014 | * Mise à jour par [[user>smolski]] le 06-02-2014 | ||
+ | * Mise à jour par [[user>captnfab]] (transfert du travail de [[user>cyrille]]) le 08-02-2021 | ||
* Testé par ...... le ..... | * Testé par ...... le ..... | ||
* Commentaires sur le forum : [[http://debian-facile.org/topic-2670-wiki-apt-listbugs-logiciel-de-surveillance-des-paquets-bogues-page-1.html | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | * Commentaires sur le forum : [[http://debian-facile.org/topic-2670-wiki-apt-listbugs-logiciel-de-surveillance-des-paquets-bogues-page-1.html | Lien vers le forum concernant ce tuto]]((N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) | ||
Ligne 14: | Ligne 14: | ||
**Apt-listbugs** fournit la liste des rapports de bogues critiques disponibles dans le système de suivi des bogues Debian. \\ | **Apt-listbugs** fournit la liste des rapports de bogues critiques disponibles dans le système de suivi des bogues Debian. \\ | ||
- | Il est conseillé de l'exécuter avant l'utilisation d'un outil **APT** pour se rendre compte si une mise à jour ou une installation est connue pour être non sûre. | + | Il est conseillé de l'exécuter avant l'utilisation d'un outil **apt** pour se rendre compte si une mise à jour ou une installation est connue pour être non sûre. |
+ | |||
+ | Son utilisation est particulièrement recommandée lors de l'utilisation de Debian sid. | ||
===== Installation ===== | ===== Installation ===== | ||
- | <code root>aptitude install apt-listbugs</code> | + | <code root>apt-get install apt-listbugs</code> |
Une fois installé, apt-listbugs est lancé automatiquement par apt-get et aptitude lors de l'installation/mise-à-jour de paquets. :-) | Une fois installé, apt-listbugs est lancé automatiquement par apt-get et aptitude lors de l'installation/mise-à-jour de paquets. :-) | ||
- | ===== Apt-listbugs - Option list ===== | + | ===== Que faire si un paquet bugué est détecté ? ===== |
- | Dans un terminal root, taper la commande et le nom du paquet à vérifier. | + | **apt** s'arrête et nous demande: |
- | Par exemple avec le paquet **console-tools** : | + | <code>Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...]</code> |
- | <code root>aptitude list console-tools</code> | + | En tapant <key>?</key> et en validant, le menu détaillé suivant s'affiche: |
+ | <code> | ||
+ | y - poursuivre l'installation avec APT. | ||
+ | n - interrompre l'installation avec APT. | ||
+ | <num> - interroger le numéro de bogue indiqué | ||
+ | (utilise querybts en tant qu'utilisateur ragnarok). | ||
+ | #<num> - identique à <num>. | ||
+ | b<id> - comme <num>, mais interrogeant le bogue identifié par <id>. | ||
+ | r - afficher les listes de bogues. | ||
+ | c - créer la liste de bogues en HTML. | ||
+ | w - afficher la liste des bogues en HTML | ||
+ | (utilise sensible-browser en tant qu'utilisateur ragnarok). | ||
+ | d <num>… - éviter les bogues <num> en épinglant les paquets affectés | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | d b<id>… - éviter les bogues identifiés par <id> en épinglant les paquets | ||
+ | affectés (APT doit être relancé pour activer cette option). | ||
+ | p <pqt>… - épingler les paquets <pqt> | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | p - épingler tous les paquets ci-dessus | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | i <num> - marquer comme étant ignoré le bogue numéro <num>. | ||
+ | i b<id> - marquer comme étant ignoré le bogue identifié par <id>. | ||
+ | i - marquer tous les bogues ci-dessus comme ignorés. | ||
+ | u - annuler toutes les opérations éviter/épingler/ignorer | ||
+ | effectuées jusqu'à présent. | ||
+ | ? - afficher cette aide. | ||
+ | </code> | ||
- | <code>Lecture des champs des paquets... Fait | + | Plusieurs étapes sont alors à respecter : |
- | Lecture de l'état des paquets... Fait | + | * Lecture du rapport de bug en indiquant le numéro de bug: <num> - interroger le numéro de bogue indiqué |
- | Récupération des rapports de bogue... Fait | + | * épingler les paquets problématiques en appuyant sur la touche p de son clavier (par exemple). |
- | Analyse des informations Trouvé/Corrigé... Fait | + | * //Alternative// : Geler / dégeler les paquets (**hold**/**unhold**) |
- | Bogues de gravité grave sur console-tools (-> ) <marqué comme corrigé dans une version donnée> | + | |
- | #563590 - console-tools: Fails to upgrade/install (Corrigé : console-tools/1:0.2.3dbs-68) | + | ==== Étape 1 : Lecture du rapport de bug ==== |
- | Réuni avec : 563727 563960 | + | |
- | Bogues de gravité serious sur console-tools (-> ) <non corrigé> | + | La première chose à faire est de lire la remontée de bug et de voir si le bug vous concerne. Voici quelques situations dans lesquelles installer un paquet bugué n'est pas gênant: |
- | #552011 - console-tools: Virtual consoles from tty2 onwards depend on utf-8 | + | |
+ | * L'architecture de votre système n'est pas concernée | ||
+ | * Le paquet est présent mais pas utilisé | ||
+ | * Votre utilisation de ce paquet n'est pas impactée par le bug | ||
+ | * Vous pouvez vous passer de l'outil pendant un moment | ||
+ | * Vous rencontrez déjà le bug avec la version présente sur votre système | ||
+ | |||
+ | En fonction du bug, vous déciderez donc | ||
+ | * d'installer quand même ce paquet (cf. cas sus-cités) | ||
+ | * de ne pas installer ce paquet. | ||
+ | |||
+ | Au final, assez peu de bugs signalés par **apt-listbugs** nous concernent vraiment. | ||
+ | |||
+ | ==== Etape 2 : apt-listbugs et pin de paquet bugué ===== | ||
+ | |||
+ | Dans le cas où vous ne souhaitez pas mettre à jour un paquet car le bug introduit vous impacte, l'outil apt-listbugs permet de le marquer comme non upgradable le temps de la mise à jour. Le système installera alors, dans la mesure du possible, les autres paquets et laissera en attente les paquets **//pin-és//**. | ||
+ | |||
+ | Concrètement quand **apt-listbugs** liste des bugs, il suffit si l'on veut empêcher la mise à jour, de répondre "**p**" (pour "**pin**") afin d'épingler ces paquets via un fichier sous ''/etc/apt/preferences.d/''. Une fois le bug corrigé, le fichier sous ''/etc/apt/preferences.d/'' est automatiquement mis à jour. | ||
+ | |||
+ | ==== Alternative non recommandée : Gel / dégel de paquet ==== | ||
+ | |||
+ | Une autre méthode mais qui semble non recommandée est le **gel / dégel** de paquet via l'attribut **hold** / **unhold**, et positionnable avec aptitude et apt-mark. | ||
+ | |||
+ | On appelle gel de paquet la mise en place d'un marqueur afin qu'apt ne prenne pas en compte ce paquet lors de la mise à jour. | ||
+ | |||
+ | |Action| aptitude | apt-mark | | ||
+ | |Geler un paquet| aptitude hold <le_paquet_a_geler> | apt-mark hold <le_paquet_a_geler> | | ||
+ | |Dégeler un paquet| aptitude unhold <le_paquet_a_geler> | apt-mark unhold <le_paquet_a_geler> | | ||
+ | |Lister les paquets gelés| aptitude search "~ahold" | apt-mark showhold | | ||
+ | |||
+ | |||
+ | Une fois le tag hold positionné, reprendre la procédure autant de fois qu'il y a des paquets bugués. | ||
+ | |||
+ | |||
+ | ===== Consulter la liste des bugs ===== | ||
+ | |||
+ | Pour revoir les bugs d'un paquet: | ||
+ | |||
+ | <code user>apt-listbugs list apt</code> | ||
+ | <code>Récupération des rapports de bogue… Fait | ||
+ | Analyse des informations Trouvé/Corrigé… Fait | ||
+ | bogues de gravité serious sur apt (→ ) <En attente de traitement> | ||
+ | b1 - #922223 - apt: terminate called after throwing an instance of 'std::logic_error' ... Aborted | ||
+ | bogues de gravité serious sur apt (→ ) <Résolus dans une version donnée> | ||
+ | b2 - #931566 - Don't complain about suite changes (Acquire::AllowReleaseInfoChange::Suite should be "true") (Corrigé : apt/2.1.10) | ||
Résumé : | Résumé : | ||
- | console-tools(2 bugs)</code> | + | apt(2 bogues)</code> |
- | ===== Apt-listbugs - Installation d'un paquet ===== | + | 2 options complémentaires sont intéressantes : |
- | Lors de l'installation d'un paquet ou MAJ, il vérifie les bugs (déclarés) ! IN-DIS-PEN-SA-BLE !!! | + | * ''-s <gravités>'' : Restreindre l'affichage aux bogues avec ces gravités ("**all**" pour les voir tous, sinon [**critical,grave,serious**]). |
+ | * ''-S <états> : Restreindre l'affichage aux bogues correspondant à ces états : [**pending,forwarded,pending-fixed,fixed,done**]. | ||
- | Ainsi : | ||
- | <code root>aptitude install console-tools</code> | ||
- | <code>Lecture des listes de paquets... Fait | + | ===== Cas pratique 1 ===== |
- | Construction de l'arbre des dépendances | + | |
- | Lecture des informations d'état... Fait | + | Après une mise à jour classique… |
- | Les paquets supplémentaires suivants seront installés : | + | <code root> |
- | libconsole | + | apt update |
- | Paquets suggérés : | + | apt upgrade |
- | kbd-compat | + | </code> |
- | Les paquets suivants seront ENLEVÉS : | + | |
- | kbd | + | Un bug est trouvé: |
- | Les NOUVEAUX paquets suivants seront installés : | + | <code> |
- | console-tools libconsole | + | Récupération des rapports de bogue… Fait |
- | 0 mis à jour, 2 nouvellement installés, 1 à enlever et 21 non mis à jour. | + | Analyse des informations Trouvé/Corrigé… Fait |
- | Il est nécessaire de prendre 470ko dans les archives. | + | bogues de gravité serious sur firefox-esr (78.6.0esr-1 → 78.6.1esr-1) <En attente de traitement> |
- | Après cette opération, 20,5ko d'espace disque seront libérés. | + | b1 - #979612 - firefox-esr: after upgrade from 78.6.0esr-1~deb10u1 to 78.6.1esr-1~deb10u1 gnome interface behave erratically |
- | Souhaitez-vous continuer [O/n] ? o | + | |
- | Réception de : 1 http://ftp.fr.debian.org unstable/main libconsole 1:0.2.3dbs-68 [155kB] | + | |
- | Réception de : 2 http://ftp.fr.debian.org unstable/main console-tools 1:0.2.3dbs-68 [315kB] | + | |
- | 470ko réceptionnés en 26s (17,7ko/s) | + | |
- | Lecture des champs des paquets... Fait | + | |
- | Lecture de l'état des paquets... Fait | + | |
- | Récupération des rapports de bogue... Fait | + | |
- | Analyse des informations Trouvé/Corrigé... Fait | + | |
- | Bogues de gravité serious sur console-tools (-> 1:0.2.3dbs-68) <non corrigé> | + | |
- | #552011 - console-tools: Virtual consoles from tty2 onwards depend on utf-8 | + | |
Résumé : | Résumé : | ||
- | console-tools(1 bug) | + | firefox-esr(1 bogue) |
- | Êtes-vous certain de vouloir installer/mettre à jour les paquets ci-dessus ? [Y/n/?/...]</code> | + | Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] </code> |
+ | |||
+ | A cette étape, il faut être prudent, saisissez ? pour voir les choix offerts (cf le menu détaillé dans la partie "Que faire" ci-dessus) | ||
+ | |||
+ | Si vous voulez voir le détail du bug, saisissez le numéro de bug. Par exemple, dans le cas sus-cité | ||
+ | |||
+ | <code>Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] #979612 | ||
+ | Retrieving report #979612 from Debian bug tracking system...</code> | ||
+ | |||
+ | Le rapport de bug s'affichera automatiquement. Saisissez "**q**" pour quitter. | ||
+ | |||
+ | Si le rapport ne vous concerne pas, vous pouvez accepter la mise à jour du paquet, sinon épingler ce paquet (letttre "**p**") | ||
+ | |||
+ | ===== Cas pratique 2 ===== | ||
+ | |||
+ | Je veux installer une paire de paquets | ||
+ | <code root> apt install python3-rgain3 mp3gain</code> | ||
+ | <code> | ||
+ | Récupération des rapports de bogue… Fait | ||
+ | Analyse des informations Trouvé/Corrigé… Fait | ||
+ | bogues de gravité serious sur python3-rgain3 (→ 1.0.0-1) <Transférés> | ||
+ | b1 - #968186 - python3-rgain3: API is potentially about to break | ||
+ | Résumé : | ||
+ | python3-rgain3(1 bogue) | ||
+ | Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...]</code> | ||
+ | |||
+ | Vous ne savez pas quelle décision prendre ? Appuyer sur __**?**__ | ||
+ | |||
+ | La liste des options apparaîtra (cf le menu détaillé dans la partie "Que faire" ci-dessus). | ||
+ | |||
+ | Si vous saisissez le numéro du bug vous obtiendrez sa description : | ||
+ | <code>Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...]#968186</code> | ||
+ | |||
+ | |||
+ | Un écran affichera la descrition du bug : | ||
+ | <code>Upstream changes in rgain3 have broken the import ABI. This doesn't mean | ||
+ | anything for the replaygain and collectiongain CLI tools, but would | ||
+ | break compatibility if we had packages in Debian that imported it as a | ||
+ | library. | ||
+ | |||
+ | I've asked for clarification on whether this was intentional, but until | ||
+ | I get an answer, this library probably shouldn't migrate. | ||
+ | |||
+ | smcv</code> | ||
+ | |||
+ | Lisez le attentivement et ensuite prenez la décision la plus appropriée. Appuyer sur q pour revenir à l'affichage précédent. | ||
+ | <code> | ||
+ | Retrieving report #968186 from Debian | ||
+ | bug tracking system... What do you want to do now [x|O|r|b|e|q|?]? ? | ||
+ | x - Provide extra information. | ||
+ | O - (default) Show other bug reports (return to bug listing). | ||
+ | r - Redisplay this message. | ||
+ | b - Launch web browser to read full log. | ||
+ | e - Launch e-mail client to read full log. | ||
+ | q - I'm bored; quit please. | ||
+ | ? - Display this help. | ||
+ | What do you want to do now [x|O|r|b|e|q|?]?</code> | ||
+ | |||
+ | Répondez **__q__** et décidez ou non de pinner le paquet. | ||
- | En répondant : | ||
- | p | ||
- | à la question : | ||
- | Êtes-vous certain de vouloir installer/mettre à jour les paquets ci-dessus ? | ||
//apt-listbugs// ajoute ces paquets dans le fichier de [[:doc:systeme:apt:pinning | préférences]] pour éviter la version buggée. | //apt-listbugs// ajoute ces paquets dans le fichier de [[:doc:systeme:apt:pinning | préférences]] pour éviter la version buggée. | ||
Ligne 84: | Ligne 199: | ||
- | * //Merci à lol et le fada sur le forum ici// : http://debian-facile.org/forum/viewtopic.php?pid=17706#p17706 | + | |
* https://debian-facile.org/viewtopic.php?pid=158917#p158917 Gestion des paquets Debian - Utilisation de apt-listbugs | * https://debian-facile.org/viewtopic.php?pid=158917#p158917 Gestion des paquets Debian - Utilisation de apt-listbugs | ||