logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

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 → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
atelier:chantier:maintenir-debian-sid [11/01/2021 21:07]
cyrille [Des utilitaires pratiques]
atelier:chantier:maintenir-debian-sid [30/10/2022 22:07] (Version actuelle)
Jean-Pierre Pinson [Maintenir sa Sid]
Ligne 1: Ligne 1:
-====== ​Maintenir sa Debian ​SID ======+====== Debian ​Sid ======
  
-  * Objet :Gérer ​et maintenir une debian SID+  * Objet : Installer ​et maintenir une Debian Sid
   * Niveau requis :  {{tag>​débutant avisé}}   * Niveau requis :  {{tag>​débutant avisé}}
-  * Commentaires : Quelques règles à respecter pour maintenir sa debian ​SID sans la casser.+  * Commentaires : Quelques règles à respecter pour maintenir sa debian ​Sid sans la casser.
   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)   * Débutant, à savoir : [[:​doc:​systeme:​commandes:​le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-)
-  * Suivi : {{tag>en-chantier à-tester ​à-placer}}.+  * Suivi : {{tag>​à-placer}}
     * Création par [[user>​cyrille]] 09/01/2021     * Création par [[user>​cyrille]] 09/01/2021
-    * Testé par <...le <...> FIXME +    * Testé par [[user>sushy]] 
-    * Amélioré par [[user>​David5647]],​ [[user>​vv222]], ​    ​[[user>​--gilles--]] +    * Contributions: ​[[user>​David5647]],​ [[user>​vv222]],​ [[user>​--gilles--]] 
-  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=352031 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !)) FIXME+  * Commentaires sur le forum : [[https://​debian-facile.org/​viewtopic.php?​pid=352031 | Lien vers le forum concernant ce tuto]] ((N'​hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !))
  
-**Nota :**+Voici simplement quelques règles de base afin de garder une debian Sid (**debian unstable**) à jour sans prendre [**//​trop//​**] de risques.
  
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !+===== Installer Sid =====
  
-===== Gérer sa Debian SID =====+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.
  
 +==== 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.
  
-Voici simplement quelques règles de base afin de garder une debian SID (**debian unstable**) à jour sans prendre [**//​trop//​**] de risques. +Le fichier ​peut être édité via la commande:
- +
-===== Installer SID ===== +
- +
-La documentation officielle recommande soir de partir d'une **debian stable** soit d'une **debian testing** et de l'​upgrader en sid en modifiant le source list. +
- +
- +
- +
-==== Le fichier ​sources.list ==== +
- +
-Le plus simple : +
-<code root> +
-cat /​etc/​apt/​sources.list +
-deb http://​deb.debian.org/​debian/​ sid main non-free contrib +
-</​code>​ +
-ou +
-<code root> +
-cat /​etc/​apt/​sources.list +
-deb http://​deb.debian.org/​debian/​ unstable main non-free contrib +
-</​code>​ +
-ou+
 <code root> <code root>
 apt edit-sources apt edit-sources
 </​code>​ </​code>​
  
-  * Les tags **main non-free contrib** : le **main** est indispensable,​ les 2 autres à votre guise. +Tout ira très bien si le fichier contient exactement et uniquement la ligne suivante
-  * Éviter, notamment le dépôt **deb-multimedia**. +<​code ​apt_sources /etc/apt/sources.list
- +deb http://deb.debian.org/​debian/ ​sid main non-free contrib
-==== L'​upgrade en SID ==== +
- +
-Exécutez les opération de mise à jour suivantes:  +
-<​code ​root>apt apt update  +
-apt full-upgrade<​/code+
- +
-Vous devriez vous retrouver en SID +
- +
-==== L'iso mini.iso ==== +
-Alternative : partir d'un de ces mirroirs debian https://www.debian.org/​mirror/list en suivant **debian/dists/​unstable/​main/​installer-*/​current/​images/​netboot/​** +
- +
-Durant l'​installation choisissez « **Advanced options** » -> « **Expert install** » ; +
-À l'​étape « **Choose a mirror of the Debian archive** » choisissez la version « **sid - unstable** ».  +
-===== Maintenir sa SID ===== +
- +
- +
-==== Installer apt-listbugs ==== +
- +
- +
-C'est le paquet essentiel pour maintenir une debian SID à jour. Une fois les paquets à mettre à jour, télécharger,​ il scannera les changelog à 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 d'​opter pour la bonne solution : installer ou non le paquet. +
- +
-Il est recommandé de mettre à jour sa SID **au moins une fois semaine**. +
- +
-==== Que faire en cas de paquet(s) buggué(s) ==== +
- +
-Plusieurs étapes sont alors  à respecter : +
-  * Lecture du rapport de big +
-  * Pin les paquets problématiques +
-  * //​Alternative//​ : Geler / dégeler les paquets (**hold**/​**unhold**) +
- +
-==== Etape 1 : Lecture du rapport de bug ==== +
- +
-La première chose  à faire est de lire la remontée de bug et de voir si le bug vous concerne.  +
- +
-  * Soit l'​architecture de votre système n'est pas concernée +
-  * Soit le paquet est présent mais pas utilisé car présence de beaucoup de paquets redondants +
-  * Soit l'une utilisation de ce paquet est très basique du paquet et le bug ne l'​impacte pas +
-  * Soit l'​utilisation de ce paquet sera laissée de côté le temps de la résolution (exemple bz2 est bugué, tant pis  xz prendra le relais pendant quelques temps) +
-  * Soit le bug est classé **serious** mais n'est pas sérieux +
-  * Soit le bug ne touche pas directement le paquet mais une de ses extensions que vous n'​utilisez pas ou une version que vous n'​utilisez pas. +
- +
-En fonction du bug, vous déciderez donc  +
-  * d'​installer quand ce paquet (votre cas sus-cité) +
-  * de ne pas installer ce paquet. +
- +
-On se rend souvent compte qu'à peine ~10% des bugs signalés par **apt-listbugs** nous concernent vraiment.  +
- +
-==== Etape 2 : apt-listbugs et pin de paquet buggué ===== +
- +
-Dans le cas où le bug affecterait le programme dans votre utilisation. L'​outil apt-listbugs permet de le marquer comme non upgradable le temps de la mise à jour. Le système installera alors les paquets non buggués et laissera en attente les autres paquets, **//​pinnés//​** buggués. +
- +
-Concrétement quand **apt-listbugs** listera des bugs, il suffira de répondre "​**p**"​ (pour "​**pin**"​) ce qui va étiqueter ces paquets via un fichier sous **/​etc/​apt/​preferences.d/​**,​ de manière à en empêcher la mise-à-jour vers la version qui a un souci. 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** d'​**aptitude** ou de **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>​ |  +
-|Degeler 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 positionner,​ reprendre la procédure autant de fois qu'il y a des paquets buggués. +
- +
-==== Cas pratique ==== +
- +
-<code root> +
-apt update +
-apt upgrade +
-[....] +
-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 root> +
-Ê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>​ </​code>​
  
-Si vous voulez voir le détail du bugsaisissez le numéro de bugPar exemple, dans le cas sus-cité+  * Pour en savoir plus sur l'​utilisation des sections **main non-free contrib**consulter [[doc:​systeme:​apt:​sources.list#​sections|Sources.list - les sections]] 
 +  * Pour des informations plus détaillées sur les fichiers sources.list pour testing/​sid:​ [[doc:​systeme:​apt:​sources.list:​testing|sources.list pour debian testing/​sid]] 
 +  * 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).
  
-<code root>​Êtes-vous certain(e) de vouloir installer/​mettre à niveau les paquets ci-dessus ?​ [Y/n/?/...] #979612 +==== Migration vers Sid ====
-Retrieving report #979612 from Debian bug tracking system...</​code>​+
  
-Le rapport ​de bug s'​affichera automatiquement. Saisissez "​**q**"​ pour quitter.+Exécutez les opérations ​de mise à jour suivantes:  
 +<code root>apt update  
 +apt full-upgrade</​code>​
  
-Si le rapport ne vous concerne pasvous pouvez accepter la mise à jour du paquet, sinon épingler ​ce paquet (letttre "​**p**"​)+Après un redémarrage pour utiliser ​le nouveau noyau, ce système sera en Sid.
  
  
 +===== Maintenir sa Sid =====
 +Utiliser une distribution en développement permanent nécessite certaines précautions. Voici quelques outils permettant d'​éviter certains écueils.
  
-===== Des utilitaires pratiques =====+==== Mises à jour ====
  
 +Sʼil nʼest pas nécessaire dʼappliquer des mises-à-jour quotidiennes,​ il est quand même recommandé de de le faire fréquemment. De cette manière, il sera plus simple de repérer la mise-à-jour qui a pu casser un de vos logiciels, et ça évitera que plusieurs logiciels cassent en même temps. Certains font les mises-à-jour tous les jours (cʼest lʼidéal), d’autres toutes les semaines, ça dépend du temps que vous pouvez y consacrer.
  
-On peut utiliser ces utilitaires en parallèle :+La principale raison est la sécurité. Sous stable on peut scruter les dépôts security quotidiennement pour les mises à jour, mais sous sid, il nʼy a pas de dépôt security, et les mises à jour de sécurité sont mêlées aux autres mises-à-jour de paquets…
  
-==== apt-listchanges ====+À noter également, chaque mise-à-jour peut rajouter ou enlever des bugs. Si vous espérez quʼun bug soit corrigé par une nouvelle version vous pouvez faire des mises à jour plus régulières,​ mais si tout fonctionne bien vous pouvez au contraire les espacer.
  
-**apt-listchanges** : à l'​issue ​de la mise à jour, les changements importants apportés seront affichés à l'​écran (appui sur **q** pour quitter l'​affichage)+À vous de trouver un équilibre.
  
-==== Relire un log ou un bug ====+==== Mise à jour complète et élagage mensuels ​====
  
-**Un changelog**+===Full-upgrade===
  
-Si jamais ​vous avez regardé trop vite la description ​et souhaitez ​la revisionner plus tard, utiliser l'​attribut **changelog** d'​**apt** ou d'​**aptitude**.+Une fois par mois environ, pensez à lancer un full-upgrade afin de vous assurer que tous les paquets sont bien mis à jour. Attention cependant, cette opération peut vous proposer de désinstaller des paquets qui vous sont vitaux. Restez prudents ​et lisez bien la liste des paquets désinstallés avant de confirmer.
  
-Exemple: +vv222 a ditQuand un paquet ne se met pas à jour automatiquement avec `apt upgrade` parce qu’il requiert une suppression d’un autre paquet, je ne le mets pas à jour avec `apt full-upgrade` mais avec `apt install $paquet`.
-<code user>apt changelog ​apt</​code>​+
  
-Affichera<​code>​ +<​code ​root>apt full-upgrade</​code>​ 
-apt (2.1.16) unstable; urgency=medium +<​code>​Lecture des listes de paquets... Fait
- +
-  [ Faidon Liambotis ] +
-  * Various fixes to http and connect method +
-    - basehttp: also consider Access when a Server'​s URI +
-    - connect: convert a C-style string to std::​string +
-    - connect: use ServiceNameOrPort,​ not Port, as the cache key +
- +
-  [ Julian Andres Klode ] +
-  * patterns: Add dependency patterns ?depends, ?conflicts, etc. +
-    Note that the -broken- variants are not implemented yet. +
-  * Rewrite of the kernel autoremoval code: +
-    - Determine autoremovable kernels at run-time (LP: #1615381), this fixes the +
-      issue where apt could consider a running kernel autoremovable +
-    - Automatically remove unused kernels on apt {full,dist}-upgrade+
-      This helps ensuring that we don't run out of /boot space. +
-    - Only keep up to 3 (not 4) kernels. +
-      Ubuntu boot partitions were sized for 3 kernels, not 4.</​code>​ +
-Appuyer sur "​**q**"​ pour quitter. +
- +
-**Un bug** +
- +
-Pour revoir un bug, utiliser apt-listbugs:​ +
- +
-<​code ​user>apt-listbugs list apt +
-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é :​ +
- apt(2 bogues)</​code>​ +
- +
- +
-2 options complémentaires sont intéressantes : +
- +
-**-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]. +
- +
- +
- +
-==== needrestart ==== +
- +
-**needrestart** : si la mise à jour a touché des programmes nécessitant la redémarrage de services, vous serez notifié et on vous demandera si vous désirez ou non redémarrer ces services (oui en général) +
- +
-==== Full Upgrade mensuel & autoremove ==== +
- +
-__**Full-upgrade:​**__ +
- +
-Une fois par mois environ, penser à lancer un full-upgrade afin de nettoyer les paquets dont le système n'a plus besoin +
-<code root> +
-apt full-upgrade  +
-Lecture des listes de paquets... Fait+
 Construction de l'​arbre des dépendances ​       Construction de l'​arbre des dépendances ​      
 Lecture des informations d'​état... Fait Lecture des informations d'​état... Fait
Ligne 274: Ligne 96:
 </​code>​ </​code>​
  
-__**Autoremove:**__ +=== Autoremove ​=== 
-Ainsi que +<code root>apt autoremove</​code>​ 
-<code root> + 
-apt autoremove +Cette commande permet de supprimer les paquets recommandés qui ont été installés par le passé mais ne sont plus utilisés.
-</​code>​+
  
-==== Vider le cache d'​apt ​====+A noter : la dernière version d'apt (2.1.16) intègre un autoremove. Elle permet de déterminer les noyaux auto-amovibles au moment de l'​exécution.  
 +   * Corrige le problème où apt pourrait envisager de supprimer un noyau en cours d'​exécution amovible 
 +   * Supprime automatiquement les noyaux inutilisés sur apt **{full, dist} -upgrade**. 
 +   * Cela permet de garantir que nous ne manquons pas d'​espace / boot. 
 +   * Ne garde que 3 noyaux (et non 4).  
 + 
 +=== Vider le cache d'apt ===
 Comme les mises à jour sont fréquentes,​ pensez à vider régulièrement le cache d'apt. Comme les mises à jour sont fréquentes,​ pensez à vider régulièrement le cache d'apt.
  
-Ne vider pas trop vite le cache d'apt, car il se peut que vous soyez amener ​à réinstaller un paquet dans une version précédente sans connexion internet (cas rare mais possible).+Ne videz pas trop vite le cache d'apt, car il se peut que vous soyez amené(e) ​à réinstaller un paquet dans une version précédente sans connexion internet (cas rare mais possible). 
 + 
 +<code root>apt clean</​code>​ 
 + 
 +==== Éviter les bugs graves avec apt-listbugs ==== 
 + 
 +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. 
 + 
 +À 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. 
 + 
 +Pour apprendre à utiliser efficacement et intelligemment cet outil, consultez le tuto [[:​doc:​systeme:​apt:​apt-listbugs]]. 
 + 
 +<note info>​Vous pouvez également [[:​doc:​systeme:​apt:​apt-listbugs#​consulter-la-liste-des-bugs|consulter la liste des bugs d'un paquet]].</​note>​ 
 + 
 +==== Suivre l'​évolution des paquets avec apt-listchanges === 
 + 
 +**apt-listchanges** : à l'​issue de la mise à jour, les changements importants apportés seront affichés à l'​écran (appui sur **q** pour quitter l'​affichage) 
 + 
 +<note info>Si jamais vous avez regardé trop vite la description et souhaitez la revisionner plus tard, utiliser l'​attribut **changelog** d'​**apt** ou d'​**aptitude**. 
 + 
 +Exemple: 
 +<code user>apt changelog apt</​code>​ 
 + 
 +Affichera le changelog du paquet ''​apt''​. Appuyer sur "​**q**"​ pour quitter. 
 +</​note>​ 
 + 
 +==== Guetter les processus obsolètes avec needrestart ==== 
 + 
 +<code root>apt install needrestart</​code>​
  
-<code user>apt clean</​code>​+Si la mise à jour a touché des programmes nécessitant le redémarrage de services, vous en serez notifié et il vous sera proposé de redémarrer ces services.
  
 ==== Sauvegarde du système ==== ==== Sauvegarde du système ====
  
-La documentation officielle préconise une sauvegarde du système et la réalisation ​ d'instantanées ​avec un outil style **timeshift** afin de se prémunir de toutes mauvaises surprises. Personnellement,​ je ne le fais pas, mais c'est vrai que cela peut être un filet supplémentaire.+La documentation officielle préconise une sauvegarde du système et la réalisation ​ d'instantanés ​avec un outil style **timeshift** afin de se prémunir de toutes mauvaises surprises. Personnellement,​ je ne le fais pas, mais c'est vrai que cela peut être un filet supplémentaire.
  
atelier/chantier/maintenir-debian-sid.1610395621.txt.gz · Dernière modification: 11/01/2021 21:07 par cyrille

Pied de page des forums

Propulsé par FluxBB