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 Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:maintenir-debian-sid [02/02/2021 14:47] jpt [Des utilitaires pratiques] |
atelier:chantier:maintenir-debian-sid [08/02/2021 18:09] captnfab [Installer Sid] |
||
---|---|---|---|
Ligne 19: | Ligne 19: | ||
La documentation officielle recommande soit de partir d'une **debian stable** soit d'une **debian testing** et de l'upgrader en sid en modifiant le sources.list. | La documentation officielle recommande soit de partir d'une **debian stable** soit d'une **debian testing** et de l'upgrader en sid en modifiant le sources.list. | ||
- | ==== Le fichier sources.list ==== | + | ==== Modification du sources.list ==== |
+ | Une fois votre debian (stable ou testing) installée, modifiez le fichier ''sources.list'' pour qu'il aille chercher les paquets de sid. | ||
- | Doit ressembler à | + | Le fichier peut être édité via la commande: |
+ | <code root> | ||
+ | apt edit-sources | ||
+ | </code> | ||
+ | |||
+ | Tout ira très bien si le fichier contient exactement et uniquement la ligne suivante: | ||
<code apt_sources /etc/apt/sources.list> | <code apt_sources /etc/apt/sources.list> | ||
deb http://deb.debian.org/debian/ sid main non-free contrib | deb http://deb.debian.org/debian/ sid main non-free contrib | ||
- | </code> | ||
- | ou | ||
- | <code apt_sources /etc/apt/sources.list> | ||
- | deb http://deb.debian.org/debian/ unstable main non-free contrib | ||
</code> | </code> | ||
- | Il peut être édité via la commande: | + | * Pour en savoir plus sur l'utilisation des sections **main non-free contrib**, consulter [[doc:systeme:apt:sources.list#sections|Sources.list - les sections]] |
- | <code root> | + | * Les dépôts non-officiels (comme **deb-multimedia** par exemple) sont sources de problèmes et sont à éviter autant que possible (en particulier pendant le processus de mise à jour). |
- | apt edit-sources | + | |
- | </code> | + | |
- | * Les tags **main non-free contrib** : le **main** est indispensable, les 2 autres à votre guise. | + | ==== Migration vers Sid ==== |
- | * Éviter absolument les dépôts non-officiels (comme **deb-multimedia** par exemple). | + | |
- | + | ||
- | ==== L'upgrade en Sid ==== | + | |
Exécutez les opérations de mise à jour suivantes: | Exécutez les opérations de mise à jour suivantes: | ||
Ligne 50: | Ligne 47: | ||
Utiliser une distribution en développement permanent nécessite certaines précautions. Voici quelques outils permettant d'éviter certains écueils. | Utiliser une distribution en développement permanent nécessite certaines précautions. Voici quelques outils permettant d'éviter certains écueils. | ||
- | ==== Installer apt-listbugs ==== | + | ==== Mises à jour ==== |
- | + | ||
- | C'est le paquet essentiel pour maintenir une debian Sid à jour sans la casser. Une fois les paquets à mettre à jour téléchargés, il scane les changelogs à la recherche des bugs existants et non résolus. Si bug(s) il y a, vous serez prévenu sur quel paquet et ce sera à vous de choisir entre deux solutions : installer ou non le paquet. | + | |
Il est recommandé de mettre à jour sa Sid assez régulièrement, plusieurs fois par mois dans l'idéal. | Il est recommandé de mettre à jour sa Sid assez régulièrement, plusieurs fois par mois dans l'idéal. | ||
Ligne 64: | Ligne 58: | ||
À vous de trouver un équilibre. | À vous de trouver un équilibre. | ||
- | ==== Que faire en cas de paquet(s) buggué(s) ==== | ||
- | Plusieurs étapes sont alors à respecter : | + | ==== Installer apt-listbugs ==== |
- | * Lecture du rapport de bug | + | |
- | * Pin les paquets problématiques | + | |
- | * //Alternative// : Geler / dégeler les paquets (**hold**/**unhold**) | + | |
- | ==== Étape 1 : Lecture du rapport de bug ==== | + | C'est le paquet essentiel pour maintenir une debian Sid à jour sans la casser. Une fois les paquets à mettre à jour téléchargés, il scane les changelogs à la recherche des bugs existants et non résolus. Si bug(s) il y a, vous serez prévenu sur quel paquet et ce sera à vous de choisir entre deux solutions : installer ou non le paquet. |
- | + | ||
- | 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: | + | |
- | + | ||
- | * 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 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'étiqueter 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. | + | |
- | + | ||
- | ==== Cas pratique ==== | + | |
- | + | ||
- | <code root> | + | |
- | apt update | + | |
- | apt upgrade | + | |
- | </code> | + | |
- | <code> | + | |
- | 22,0 Mo réceptionnés en 6s (3626 ko/s) | + | |
- | Récupération des rapports de bogue… Fait | + | |
- | Analyse des informations Trouvé/Corrigé… Fait | + | |
- | bogues de gravité serious sur firefox-esr (78.6.0esr-1 → 78.6.1esr-1) <En attente de traitement> | + | |
- | b1 - #979612 - firefox-esr: after upgrade from 78.6.0esr-1~deb10u1 to 78.6.1esr-1~deb10u1 gnome interface behave erratically | + | |
- | Résumé : | + | |
- | firefox-esr(1 bogue) | + | |
- | Ê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 | + | |
- | <code> | + | |
- | Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] ? | + | |
- | 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> | + | |
- | + | ||
- | 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 ==== | + | |
- | + | ||
- | <code root> apt install python3-rgain3 mp3gain</code> | + | |
- | <code>Lecture des listes de paquets... Fait | + | |
- | Construction de l'arbre des dépendances | + | |
- | Lecture des informations d'état... Fait | + | |
- | Les NOUVEAUX paquets suivants seront installés : | + | |
- | mp3gain python3-rgain3 | + | |
- | 0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour. | + | |
- | Il est nécessaire de prendre 62,5 ko dans les archives. | + | |
- | Après cette opération, 184 ko d'espace disque supplémentaires seront utilisés. | + | |
- | Réception de :1 http://deb.debian.org/debian sid/main amd64 mp3gain amd64 1.6.2-2 [39,9 kB] | + | |
- | Réception de :2 http://deb.debian.org/debian sid/main amd64 python3-rgain3 all 1.0.0-1 [22,7 kB] | + | |
- | 62,5 ko réceptionnés en 0s (405 ko/s) | + | |
- | 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 | + | |
- | : | + | |
- | <code>Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] ? | + | |
- | 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. | + | |
- | Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...]</code> | + | |
- | + | ||
- | 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. | + | À noter que plus un paquet est présent depuis longtemps dans Sid, et plus il y a de chances que ses bugs graves aient été répertoriés. Aussi, si vous mettez à jour votre Sid toutes les heures, apt-listbugs ne détectera laissera plein de bugs non-détectés passer, alors que si vous ne la mettez à jour qu'une fois par semaine, il y a plus de chances que les bugs aient été signalés. |
- | <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. | + | Pour apprendre à utiliser efficacement et intelligemment cet outil, consultez le tuto [[:doc:systeme:apt:apt-listbugs]]. |
===== Des utilitaires pratiques ===== | ===== Des utilitaires pratiques ===== |