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
Prochaine révision Les deux révisions suivantes
atelier:chantier:maintenir-debian-sid [10/01/2021 21:11]
cyrille [Maintenir sa SID]
atelier:chantier:maintenir-debian-sid [08/02/2021 18:12]
captnfab [Installer Sid]
Ligne 1: Ligne 1:
-====== Maintenir sa Debian ​SID ======+====== Maintenir sa 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>​en-chantier à-tester à-placer}}.
     * Création par [[user>​cyrille]] 09/01/2021     * Création par [[user>​cyrille]] 09/01/2021
-    * Testé par <...> le <​...> ​FIXME +    * Testé par <...> le <​...>​ 
-    * Amélioré par [[user>​David5647]] +    * 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 :**+===== Gérer sa Debian Sid =====
  
-Contributeurs,​ les FIXME sont là pour vous aider, supprimez-les ​une fois le problème corrigé ou le champ rempli !+Voici simplement quelques règles de base afin de garder ​une debian Sid (**debian unstable**) à jour sans prendre [**//​trop//​**] de risques.
  
-===== Gérer sa Debian SID =====+===== Installer 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.
  
-Voici simplement quelques règles de base afin de garder une debian ​SID (**debian unstable**à jour sans prendre [**//​trop//​**] ​de risques.+==== Modification du sources.list ==== 
 +Une fois votre debian (stable ou testinginstallée, modifiez le fichier ''​sources.list''​ pour qu'il aille chercher les paquets ​de sid.
  
-===== Installer SID =====+Le fichier peut être édité via la commande: 
 +<code root> 
 +apt edit-sources 
 +</​code>​
  
-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. +Tout ira très bien si le fichier ​contient exactement et uniquement la ligne suivante
- +<​code ​apt_sources ​/​etc/​apt/​sources.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 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> 
-apt edit-sources 
 </​code>​ </​code>​
  
-  * Les tags **main non-free contrib** : le **main** est indispensable, ​les 2 autres à votre guise+  * Pour en savoir plus sur l'​utilisation des sections ​**main non-free contrib**, consulter [[doc:systeme:​apt:​sources.list#​sections|Sources.list - les sections]] 
-  * Éviter, notamment le dépôt ​**deb-multimedia**.+  ​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).
  
-==== L'​upgrade en SID ====+==== Migration vers Sid ====
  
-Exécutez les opération ​de mise à jour suivantes:  +Exécutez les opérations ​de mise à jour suivantes:  
-<code root>apt apt update ​+<code root>apt update ​
 apt full-upgrade</​code>​ apt full-upgrade</​code>​
  
-Vous devriez vous retrouver ​en SID+Après un redémarrage pour utiliser le nouveau noyau, ce système sera 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** » ; +===== Maintenir sa Sid ===== 
-À l'​étape « **Choose a mirror of the Debian archive** » choisissez la version « **sid - unstable** ».  +Utiliser une distribution en développement permanent nécessite certaines précautions. Voici quelques outils permettant d'​éviter certains écueils.
-===== Maintenir sa SID =====+
  
 +==== Mises à jour ====
 +Il est recommandé de mettre à jour sa Sid assez régulièrement,​ plusieurs fois par mois dans l'​idéal.
  
-==== Installer apt-listbugs ====+Il n'est pas nécessaire de la mettre à jour quotidiennement,​ surtout si votre système fonctionne bien.
  
 +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épot security, et les mises à jour de sécurité sont mêlées aux autres mises à jour de paquets…
  
-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.+À 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.
  
-==== Que faire en cas de paquet(s) buggué(s) ====+À vous de trouver un équilibre.
  
-Plusieurs étapes snt alors  à respecter : 
-  * Lecture du rapport de gug 
-  * Pin les paquets problématiques 
-  * Geler / dégeler les paquets (hold/​unhold) 
  
-==== Option 1 : Lecture du rapport de bug ====+==== Installer apt-listbugs ​====
  
-La première chose  à faire est de lire la remontée de bug et de voir si le bug vous concerne+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.
  
-  * Soit l'​architecture de votre système n'est pas concernée +À 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. Aussisi 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.
-  * 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 bugvous déciderez donc  +Pour apprendre à utiliser efficacement et intelligemment cet outilconsultez le tuto [[:​doc:​systeme:​apt:​apt-listbugs]].
-  * d'​installer quand ce paquet (votre cas sus-cité) +
-  * de ne pas installer ce paquet+
  
-=== apt-listbugs et pin de paquet buggué ​====+===== Des utilitaires pratiques =====
  
-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.+On peut utiliser ces utilitaires ​en parallèle :
  
-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. +==== apt-listchanges ====
  
-==== Option 3 Gel / dégel ​de paquet ====+**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)
  
-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**+==== Relire un log ou un bug ====
  
-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.+**Un changelog**
  
-__**Geler un paquet:**__+Si jamais vous avez regardé trop vite la description et souhaitez la revisionner plus tard, utiliser l'​attribut ​**changelog** d'​**apt** ou d'​**aptitude**.
  
-**Syntaxe avec aptitude:** +Exemple
-<​code ​root> +<​code ​user>apt changelog apt</​code>​
-aptitude hold <​le_paquet_a_geler>​ +
-</​code>​+
  
-**Sinon passer par apt-mark** +Affichera<​code>​ 
-<​code ​root+apt (2.1.16) unstable; urgency=medium
-apt-mark hold <​le_paquet_a_geler>​ +
-</​code>​+
  
-__**Pour dégeler un paquet:**__+  [ Faidon Liambotis ] 
 +  ​Various fixes to http and connect method 
 +    - basehttpalso 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
  
-**Syntaxe avec aptitude:** +  [ Julian Andres Klode ] 
-<code root> +  ​patternsAdd dependency patterns ?depends, ?conflicts, etc. 
-aptitude unhold <​le_paquet_a_geler>​ +    Note that the -broken- variants are not implemented yet. 
-</​code>​+  * 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.
  
-**Sinon passer par apt-mark:** +**Un bug**
-<code root> +
-apt-mark unhold <​le_paquet_a_geler>​ +
-</​code>​+
  
-__**Connaître la liste des paquets geler de votre système:**__+Pour revoir un bug, utiliser apt-listbugs:
  
-**Avec aptitude:​** +<​code ​user>apt-listbugs ​list apt</​code>​ 
-<​code ​root> +<​code>​Récupération des rapports de bogue… Fait
-aptitude search "​~ahold"​ +
-</​code>​ +
- +
-**Avec dpkg:** +
-<code root> +
-dpkg --list | grep ^hi +
-</​code>​ +
- +
-**Avec ​apt-mark** +
-<code root> +
-apt-mark showhold +
-</​code>​ +
- +
-Une fois le tag hold positionner,​ reprendre la procédure autant de fois qu'il y a des paquets buggués. +
- +
-<​code ​root> +
-apt update +
-</​code>​ +
- +
-<code root> +
-apt upgrade  +
-Lecture des listes de paquets... Fait +
-Construction de l'​arbre des dépendances ​       +
-Lecture des informations d'​état... Fait +
-Calcul de la mise à jour... Fait +
-Les paquets suivants ont été conservés : +
-  apt apt-utils cups-client exim4-daemon-light libcups2 libcurl3-gnutls +
-  libgnutls-dane0 libgnutls30 libjs-jquery libnm0 libnss-systemd +
-  libpam-systemd libsmbclient libsystemd0 libwbclient0 network-manager ppp +
-  samba-libs systemd systemd-timesyncd wget +
-Les paquets suivants seront mis à jour : +
-  binutils binutils-common binutils-x86-64-linux-gnu cpp-10 cups-common dpkg +
-  dpkg-dev dput findutils firefox-esr firefox-esr-l10n-fr firmware-iwlwifi +
-  firmware-misc-nonfree g++-10 gcc-10 gcc-10-base giblib1 ispell kmod +
-  libapt-pkg6.0 libasan6 libatomic1 libaudit-common libaudit1 libbinutils +
-  libcc1-0 libctf-nobfd0 libctf0 libdpkg-perl libdw1 libelf1 libgcc-10-dev +
-  libgcc-s1 libgfortran5 libgomp1 libhttp-message-perl libitm1 libjs-sphinxdoc +
-  libkmod2 libllvm11 liblsan0 libmaxminddb0 libproxy-tools libproxy1v5 +
-  libpulse-dev libpulse-mainloop-glib0 libpulse0 libpulsedsp libquadmath0 +
-  libstdc++-10-dev libstdc++6 libtsan0 libubsan1 libvdpau1 libvulkan1 libx11-6 +
-  libx11-data libx11-dev libx11-xcb1 libzmq5 locate logrotate media-types +
-  patch publicsuffix pulseaudio pulseaudio-utils python3-pil python3-psutil +
-  ruby-rubygems vdpau-driver-all xserver-common xserver-xorg-core +
-  xserver-xorg-legacy +
-74 mis à jour, 0 nouvellement installés, 0 à enlever et 21 non mis à jour. +
-Il est nécessaire de prendre 166 Mo dans les archives. +
-Après cette opération, 613 ko d'​espace disque supplémentaires seront utilisés. +
-Souhaitez-vous continuer ? [O/n] +
-</​code>​  +
- +
- +
-A cette étape, répondez OUI. +
- +
-Les mises à jour sont alors téléchargées et le changelog de chaque paquet sera lu afin de voir si des bugs existent ou non. +
- +
-<code root> +
-Souhaitez-vous continuer ? [O/n] y +
-Réception de :1 http://​deb.debian.org/​debian sid/main amd64 dpkg amd64 1.20.7.1 [2464 kB] +
-[ .. ]                                                                                                +
-Réception de :74 http://​deb.debian.org/​debian sid/main amd64 xserver-xorg-core amd64 2:1.20.10-2 [3595 kB]                                                                                                        +
-166 Mo réceptionnés en 29s (5636 ko/s)                                                                                                                                                                            +
-Récupération des rapports de bogue… Fait+
 Analyse des informations Trouvé/​Corrigé… 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>​ +bogues de gravité serious sur apt (→ ) <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 + b1 - #922223 ​aptterminate called ​after throwing an instance of '​std::​logic_error' ​... Aborted 
-Résumé : +bogues de gravité serious sur apt (→ <​Résolus dans une version donnée> 
- ​firefox-esr(1 bogue+ b2 - #​931566 ​Don't complain about suite changes ​(Acquire::​AllowReleaseInfoChange::​Suite should be "​true"​(Corrigé :​ apt/2.1.10) 
-Êtes-vous certain(ede vouloir installer/​mettre à niveau les paquets ci-dessus ? [Y/n/?/...] +Résumé :​ 
-</​code> ​+ apt(2 bogues)</​code>​
  
-En cas de bug, vous verrez cette dernière ligne apparaitre, si pas de bug la mise à jour se poursuivra. 
  
-Dans ce le cas d'un bug, comme ici, stopper la mise à jour+2 options complémentaires sont intéressantes :
  
-<code root> +**-s <gravités>​** ​  : Restreindre l'​affichage aux bogues avec ces gravités ("**all**" pour les voir tous, sinon [**critical,​grave,​serious**]). 
-Êtes-vous certain(e) de vouloir installer/​mettre à niveau les paquets ci-dessus ? [Y/n/?/...] N +                  
-**************************************************************** +**-S <​états>​**      : Restreindre ​l'affichage aux bogues correspondant à ces états : [**pending,​forwarded,​pending-fixed,​fixed,​done**].
-****** Sortie sur erreur pour interrompre ​l'installation. ​****** +
-**************************************************************** +
-E: Le sous-processus /​usr/​bin/​apt-listbugs apt a renvoyé un code d'​erreur (10) +
-E: Failure running script /​usr/​bin/​apt-listbugs apt +
-</​code>​+
  
-Geler le paquet qui pose soucis: 
-<code root> 
-root@valhalla:​~#​ apt-mark hold firefox-esr:​ 
-firefox-esr passé en figé (« hold »). 
-root@valhalla:​~#​ apt-mark showhold 
-firefox-esr 
-libgnutls30 
-libjs-jquery 
-</​code>​ 
-Relancer la mise à jour: 
-<code root> 
-apt upgrade 
-</​code>​ 
  
-Si de nouveaux bugs sortent, recommencer ces étapes autant de fois que nécessaire. 
- 
-Votre système est alors à jour 
- 
-La prochaine mise à jour 
-Dégeler les paquets gelés avant la prochaine mise à jour afin de les réinjecter dans le processus (si les bugs ont été corrigés, pas de soucis, sinon les regeler en suivant les recommandations sus-citées). 
- 
-**Exemple** 
-<code root> 
-apt unhold firefox-esr libgnutls30 libjs-jquery 
-apt update 
-apt upgrade 
-</​code>​ 
- 
- 
-===== Des utilitaires pratiques ===== 
- 
- 
-On peut utiliser ces utilitaires en parallèle : 
- 
-==== 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) 
  
 ==== needrestart ==== ==== 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)+**needrestart** : si la mise à jour a touché des programmes nécessitant ​le 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 mensuel & autoremove ====
Ligne 258: Ligne 137:
 __**Full-upgrade:​**__ __**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 +Une fois par mois environ, ​pensez ​à lancer un full-upgrade afin de nettoyer les paquets dont le système n'a plus besoin 
-<code root> +<code root>apt full-upgrade</​code>​ 
-apt full-upgrade  +<​code>​Lecture des listes de paquets... Fait
-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 294: Ligne 172:
 __**Autoremove:​**__ __**Autoremove:​**__
 Ainsi que Ainsi que
-<code root> +<code root>apt autoremove</​code
-apt autoremove + 
-</​code>​+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. 
 + 
 +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>​ 
 + 
 +==== Sauvegarde du système ====
  
 +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.txt · Dernière modification: 29/05/2024 16:53 par èfpé

Pied de page des forums

Propulsé par FluxBB