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 [09/01/2021 22:40]
cyrille [Maintenir sa Debian SID]
atelier:chantier:maintenir-debian-sid [29/05/2024 16:53] (Version actuelle)
èfpé cosmétique, traduction, fixme
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]] +    * 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 :**+===== Introduction =====
  
-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 ​Debian ​Sid =====
  
 +La documentation officielle recommande de partir soit d'une Debian **//​stable//​**,​ soit d'une Debian **//​testing//​** et de l'​upgrader (la mettre à niveau) en Sid en modifiant le fichier de liste de sources de paquets.
  
-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 ====
  
-===== Installer SID =====+Une fois Debian (//stable// ou //​testing//​) installée, modifiez le fichier ''​sources.list''​ pour qu'il récupère les listes de paquets de Sid.
  
-La documentation officielle recommande de partir d'une debian stable et de l'​upgrader en sid en modifiant le source list.+Le fichier peut être édité via la commande :
  
-Mon expérience montre que c'est jouable aussi à partir de la testing, mais autant suivre la documentation officielle+<code root>apt edit-sources</​code>​
  
-==== Le fichier sources.list ​====+Tout ira très bien si le fichier ​contient exactement et uniquement la ligne suivante : 
 +<code apt_sources /etc/apt/sources.list
 +deb http://​deb.debian.org/​debian/​ sid main non-free-firmware contrib non-free 
 +</​code>​
  
-Le plus simple : +  * Pour en savoir ​plus sur l'​utilisation des sections ​//main////non-free-firmware//,​ //contrib// ​et //non-free//, consultez : [[doc:​systeme:​apt:​sources.list:​debian#​sections-debian|sources.list pour Debian]] ; 
-<code root> +  * Pour des informations plus détaillées sur les fichiers sources.list pour testing/sid : [[doc:​systeme:​apt:​sources.list:​debian:​testing|sources.list pour Debian testing ou unstable]] ; 
-cat /etc/apt/sources.list +  * Les dépôts non officiels (comme ​//deb-multimedia.org//, par exemple) sont sources de problèmes et sont à éviter autant que possible (en particulier pendant le processus de mise à niveau).
-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/debianunstable ​main non-free contrib +
-</code> +
-ou +
-<code root> +
-apt edit-sources +
-</code>+
  
-  * Les tags **main non-free contrib** : le **main** est indispensable,​ les 2 autres à votre guise. +==== Migration vers Sid ====
-  * Éviter, notamment le dépôt **deb-multimedia**.+
  
-==== L'​upgrade en SID ====+Exécutez les opérations de mise à niveau suivantes :
  
-Exécutez les opération de mise à jour suivantes:  +<code root>apt update ​
-<code root>apt apt update ​+
 apt full-upgrade</​code>​ apt full-upgrade</​code>​
  
-Vous devriez vous retrouver ​en SID +Après un redémarrage permettant d'​utiliser le nouveau noyau, ce système sera en Sid.
-===== Maintenir sa SID =====+
  
 +===== Maintenir Debian Sid =====
  
-==== Installer apt-listbugs ====+Utiliser une distribution en développement permanent nécessite certaines précautions. Voici quelques outils permettant d'​éviter certains écueils.
  
 +==== Mises à jour ====
  
-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ésolusSi bug(sil y avous serez prévenu sur quel paquet et ce sera à vous d'opter pour la bonne solution : installer ou non le paquet.+S'il n'​est ​pas nécessaire d'​appliquer des mises à jour quotidiennes,​ il est quand même recommandé de le faire fréquemmentDe 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 tempsCertains 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.
  
-==== Gel dégel ​de paquet ====+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.
  
 +À 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.
  
-On appelle gel de paquet la mise en place d'un marqueur afin qu'apt ne prennent pas en compte ce paquet lors de la mise  à jour.+À vous de trouver ​un équilibre.
  
-__**Geler un paquet:**__+==== Mise à jour complète et élagage mensuels ====
  
-**Syntaxe avec aptitude:​** +=== full-upgrade ===
-<code root> +
-aptitude hold <​le_paquet_a_geler>​ +
-</​code>​+
  
-**Sinon passer ​par apt-mark** +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.
-<code root> +
-apt-mark hold <​le_paquet_a_geler>​ +
-</code>+
  
-__**Pour dégeler ​un paquet:**__+vv222 a dit : Quand 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`.
  
-**Syntaxe avec aptitude:​** +<code root>​apt ​full-upgrade</​code>​ 
-<code root> +<​code>​Lecture des listes de paquets... Fait
-aptitude unhold <​le_paquet_a_geler>​ +
-</​code>​ +
- +
-**Sinon passer par apt-mark:** +
-<code root> +
-apt-mark unhold <​le_paquet_a_geler>​ +
-</​code>​ +
- +
-__**Connaître la liste des paquets geler de votre système:​**__ +
- +
-**Avec aptitude:​** +
-<code root> +
-aptitude search "​~ahold"​ +
-</​code>​ +
- +
-**Avec dpkg:** +
-<code root> +
-dpkg --list | grep ^hi +
-</​code>​ +
- +
-**Avec apt-mark** +
-<code root> +
-apt-mark showhold +
-</​code>​ +
- +
- +
-==== Mettre à jour sa SID ==== +
- +
-C'est l'​étape délicate, si vous ne savez pas quoi faire : +
-  * Ne pas mettre à jour +
-  * Geler les paquets problématiques +
- +
-Fréquence de mise à jour recommandée : 1 fois par semaine. +
- +
-La procédure est ensuite la même que pour toutes Debian. +
- +
-<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 +
-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>​  +
- +
-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 +
- +
-<code root> +
-Êtes-vous certain(e) de vouloir installer/​mettre à niveau les paquets ci-dessus ? [Y/n/?/...] N +
-**************************************************************** +
-****** 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** : 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 263: Ligne 96:
 Il est nécessaire de prendre 185 ko dans les archives. Il est nécessaire de prendre 185 ko dans les archives.
 Après cette opération, 45,7 Mo d'​espace disque seront libérés. Après cette opération, 45,7 Mo d'​espace disque seront libérés.
-Souhaitez-vous continuer ? [O/n] y +Souhaitez-vous continuer ? [O/n] y</​code>​ 
-</​code>​+ 
 +=== autoremove === 
 + 
 +<code root>apt autoremove</​code>​ 
 + 
 +Cette commande permet de supprimer les dépendances,​ ainsi que les paquets recommandés,​ qui ont été installés par le passé mais ne sont plus utilisés. 
 + 
 +À noter : la version 2.1.16 (janvier 2021) d'apt implémentait une réécriture du code de suppression automatique des noyaux, lequel permet de déterminer les noyaux pouvant être supprimés automatiquement au moment de l'​exécution. 
 + 
 +  * Déterminer les noyaux pouvant être supprimés automatiquement à l'​exécution,​ ceci corrige le problème où apt pouvait considérer un noyau en cours d'​exécution comme pouvant être supprimé automatiquement. 
 +  * Suppression automatique des noyaux inutilisés lors d'une mise à niveau apt {full,​dist}-upgrade. \\ Cela permet de s'​assurer que nous ne manquons pas d'​espace /boot. 
 +  * Ne conserver que 3 (et non 4) noyaux. (FIXME) 
 + 
 +=== Vider le cache d'apt ===
  
-__**Autoremove:**__ +Comme les mises à jour sont fréquentes,​ pensez à vider régulièrement le cache d'​apt. 
-Ainsi que + 
-<​code ​root+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). 
-apt autoremove + 
-</​code>​+<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, ​**//​apt-listbugs//​** scrute les //​changelogs//​ (journaux des modifications) à la recherche des bugs connus 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 options : installer, ou non, ledit paquet. 
 + 
 +À noter que plus un paquet est présent depuis longtemps dans Sid, 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 sera pas en mesure de lister les bugs non encore détectés, 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 tutoriel [[:​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 === 
 + 
 +Avec **//​apt-listchanges//​**,​ les changements importants apportés à un paquet seront affichés à l'​écran,​ à l'​issue de la mise à jour (appuyez sur <​key>​q</​key>​ pour quitter l'​affichage). 
 + 
 +<note info> 
 +**changelog** 
 + 
 +Si vous avez lu la description un peu rapidement et souhaitez la revisionner plus tard, utilisez la commande `changelog` d'​**apt** ou d'​**aptitude**. Exemple : 
 + 
 +<​code ​user>apt changelog apt</​code
 + 
 +Affichera le //​changelog//​ du paquet ''​apt''​. Appuyez sur <​key>​q</​key>​ pour quitter. 
 +</note> 
 + 
 +==== Guetter les processus obsolètes avec needrestart ==== 
 + 
 +<code root>apt install needrestart</​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. 
 + 
 +==== Sauvegardes du système ====
  
 +La documentation officielle préconise, outre la réalisation de sauvegardes régulières du système, la réalisation d'​instantanés avant et après une mise à niveau avec un outil tel que **timeshift** afin de pouvoir restaurer le système dans un état antérieur.
  
 +===== La documentation officielle =====
 +  * https://​wiki.debian.org/​fr/​DebianUnstable
atelier/chantier/maintenir-debian-sid.1610228439.txt.gz · Dernière modification: 09/01/2021 22:40 par cyrille

Pied de page des forums

Propulsé par FluxBB