Outils pour utilisateurs

Outils du site


debian-sid

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édentesRévision précédente
Prochaine révision
Révision précédente
Dernière révisionLes deux révisions suivantes
debian-sid [2021/01/09 22:49] – [L'upgrade en SID] cyrilledebian-sid [2021/01/14 19:17] cyrille
Ligne 10: Ligne 10:
  
 ===== Le fichier sources.list ===== ===== Le fichier sources.list =====
 +
  
 Le plus simple : Le plus simple :
Ligne 38: Ligne 39:
  
 ===== L'iso mini.iso ===== ===== 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/+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** » ; Durant l'installation choisissez « **Advanced options** » -> « **Expert install** » ;
 À l'étape « **Choose a mirror of the Debian archive** » choisissez la version « **sid - unstable** ».  À l'étape « **Choose a mirror of the Debian archive** » choisissez la version « **sid - unstable** ». 
-====== Maintenir sa SID ======+===== L'upgrade en SID =====
  
 +Exécutez les opération de mise à jour suivantes: 
 +<code root>apt apt update 
 +apt full-upgrade</code>
  
-===== Installer apt-listbugs =====+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/
  
-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.+Durant l'installation choisissez « **Advanced options** » -> « **Expert install** » ; 
 +À l'étape « **Choose mirror of the Debian archive** » choisissez la version « **sid - unstable** »
  
-===== Gel / dégel de paquet =====+====== Maintenir sa SID ======
  
  
-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.+===== Installer apt-listbugs =====
  
-__**Geler un paquet:**__ 
  
-**Syntaxe avec aptitude:** +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.
-<code root> +
-aptitude hold <le_paquet_a_geler> +
-</code>+
  
-**Sinon passer par apt-mark** +Il est recommandé de mettre à jour sa SID **au moins une fois semaine**.
-<code root> +
-apt-mark hold <le_paquet_a_geler> +
-</code>+
  
-__**Pour dégeler un paquet:**__+===== Que faire en cas de paquet(s) buggué(s) =====
  
-**Syntaxe avec aptitude:** +Plusieurs étapes sont alors  à respecter : 
-<code root> +  Lecture du rapport de big 
-aptitude unhold <le_paquet_a_geler> +  Pin les paquets problématiques 
-</code>+  * //Alternative// Geler / dégeler les paquets (**hold**/**unhold**)
  
-**Sinon passer par apt-mark:** +===== Etape 1 Lecture du rapport de bug =====
-<code root> +
-apt-mark unhold <le_paquet_a_geler> +
-</code>+
  
-__**Connaître la liste des paquets geler de votre système:**__+La première chose  à faire est de lire la remontée de bug et de voir si le bug vous concerne. 
  
-**Avec aptitude:** +  Soit l'architecture de votre système n'est pas concernée 
-<code root> +  Soit le paquet est présent mais pas utilisé car présence de beaucoup de paquets redondants 
-aptitude search "~ahold" +  Soit l'une utilisation de ce paquet est très basique du paquet et le bug ne l'impacte pas 
-</code>+  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.
  
-**Avec dpkg:** +En fonction du bug, vous déciderez donc  
-<code root> +  d'installer quand ce paquet (votre cas sus-cité) 
-dpkg --list | grep ^hi +  * de ne pas installer ce paquet.
-</code>+
  
-**Avec apt-mark** +On se rend souvent compte qu'à peine ~10% des bugs signalés par **apt-listbugs** nous concernent vraiment. 
-<code root> +
-apt-mark showhold +
-</code>+
  
 +===== Etape 2 : apt-listbugs et pin de paquet buggué ======
  
-===== Mettre à jour sa SID =====+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.
  
-C'est l'étape délicatesi vous ne savez pas quoi faire : +Concrétement quand **apt-listbugs** listera des bugsil 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. 
-  Ne pas mettre à jour +
-  Geler les paquets problématiques+
  
 +===== Alternative non recommandée :  Gel / dégel de paquet =====
  
-La procédure est ensuite la même que pour toutes Debian.+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**
  
-<code root> +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.
-apt update +
-</code>+
  
-<code root> +|Action| aptitude | apt-mark |   
-apt upgrade  +|Geler un paquet| aptitude hold <le_paquet_a_geler>  | apt-mark hold <le_paquet_a_geler> 
-Lecture des listes de paquets... Fait +|Degeler un paquet| aptitude unhold <le_paquet_a_geler>  | apt-mark unhold <le_paquet_a_geler> | 
-Construction de l'arbre des dépendances        +|Lister les paquets gelés| aptitude search "~ahold" | apt-mark showhold | 
-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.+ 
 +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> <code root>
-Souhaitez-vous continuer ? [O/n] y +apt update 
-Réception de :1 http://deb.debian.org/debian sid/main amd64 dpkg amd64 1.20.7.1 [2 464 kB] +apt upgrade 
-[ .. ]                                                                                                +[....] 
-Réception de :74 http://deb.debian.org/debian sid/main amd64 xserver-xorg-core amd64 2:1.20.10-2 [3 595 kB                                                                                                       +22,0 Mo réceptionnés en 6s (3626 ko/s)                                        
-166 Mo réceptionnés en 29s (5 636 ko/s)                                                                                                                                                                           +
 Récupération des rapports de bogue… Fait 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 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  b1 - #979612 - firefox-esr: after upgrade from 78.6.0esr-1~deb10u1 to 78.6.1esr-1~deb10u1 gnome interface behave erratically
-Résumé :+Résumé :
  firefox-esr(1 bogue)  firefox-esr(1 bogue)
-Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] +Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] </code>
-</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+
  
 +A cette étape, il faut être prudent, saisissez ? pour voir les choix offerts
 <code root> <code root>
-Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] N +Êtes-vous certain(e) de vouloir installer/mettre à niveau les paquets ci-dessus ? [Y/n/?/...] ? 
-**************************************************************** +     y     - poursuivre l'installation avec APT. 
-****** Sortie sur erreur pour interrompre l'installation. ****** +     n     interrompre l'installation avec APT
-**************************************************************** +   <num>   - interroger le numéro de bogue indiqué 
-E: Le sous-processus /usr/bin/apt-listbugs apt a renvoyé un code d'erreur (10+             (utilise querybts en tant qu'utilisateur ragnarok). 
-E: Failure running script /usr/bin/apt-listbugs apt+  #<num>   identique à <num>
 +   b<id>   comme <num>, mais interrogeant le bogue identifié par <id>
 +         - afficher les listes de bogues. 
 +         - créer la liste de bogues en HTML. 
 +         - 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). 
 +         - é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>
 +         - marquer tous les bogues ci-dessus comme ignorés. 
 +         - annuler toutes les opérations éviter/épingler/ignorer 
 +             effectuées jusqu'à présent. 
 +     ?     afficher cette aide.
 </code> </code>
  
-Geler le paquet qui pose soucis: +Si vous voulez voir le détail du bug, saisissez le numéro de bugPar exemple, dans le cas sus-cité
-<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.+<code root>Ê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>
  
-Votre système est alors à jour+Le rapport de bug s'affichera automatiquement. Saisissez "**q**" pour quitter.
  
-La prochaine mise à jour +Si le rapport ne vous concerne pas, vous pouvez accepter la mise à jour du paquet, sinon épingler ce paquet (letttre "**p**")
-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 =======+ 
 +====== Des utilitaires pratiques ======
  
  
Ligne 210: Ligne 176:
 ===== apt-listchanges ===== ===== 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)+**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) 
 + 
 +===== Relire un log ou un bug ===== 
 + 
 +**Un changelog** 
 + 
 +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<code> 
 +apt (2.1.16) unstable; urgency=medium 
 + 
 +  [ 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 =====
Ligne 227: Ligne 246:
 Lecture des informations d'état... Fait Lecture des informations d'état... Fait
 Calcul de la mise à jour... Fait Calcul de la mise à jour... Fait
-Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :+Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
   coinor-libcbc3 coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5 coinor-libcoinutils3v5 coinor-libosi1v5 colord-data cups-client cups-pk-helper dnsmasq-base espeak-ng-data exfalso exfat-fuse exfat-utils   coinor-libcbc3 coinor-libcgl1 coinor-libclp1 coinor-libcoinmp1v5 coinor-libcoinutils3v5 coinor-libosi1v5 colord-data cups-client cups-pk-helper dnsmasq-base espeak-ng-data exfalso exfat-fuse exfat-utils
   fonts-font-awesome gconf-defaults-service gconf-service gconf2 gconf2-common gdisk gir1.2-gtksource-3.0 gir1.2-javascriptcoregtk-4.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-polkit-1.0   fonts-font-awesome gconf-defaults-service gconf-service gconf2 gconf2-common gdisk gir1.2-gtksource-3.0 gir1.2-javascriptcoregtk-4.0 gir1.2-notify-0.7 gir1.2-packagekitglib-1.0 gir1.2-polkit-1.0
Ligne 239: Ligne 258:
   python3-feedparser python3-louis python3-musicbrainzngs python3-mutagen python3-pyatspi python3-pyinotify python3-smbc python3-speechd quodlibet sound-icons speech-dispatcher speech-dispatcher-audio-plugins   python3-feedparser python3-louis python3-musicbrainzngs python3-mutagen python3-pyatspi python3-pyinotify python3-smbc python3-speechd quodlibet sound-icons speech-dispatcher speech-dispatcher-audio-plugins
   speech-dispatcher-espeak-ng sphinx-rtd-theme-common system-config-printer system-config-printer-common system-config-printer-udev usb-modeswitch usb-modeswitch-data xbrlapi xkbset xsane xsane-common   speech-dispatcher-espeak-ng sphinx-rtd-theme-common system-config-printer system-config-printer-common system-config-printer-udev usb-modeswitch usb-modeswitch-data xbrlapi xkbset xsane xsane-common
-Veuillez utiliser « apt autoremove » pour les supprimer. +Veuillez utiliser « apt autoremove » pour les supprimer. 
-Les paquets suivants seront ENLEVÉS :+Les paquets suivants seront ENLEVÉS :
   colord dbus-user-session gconf-editor gparted gvfs gvfs-daemons libnss-systemd libpam-systemd light-locker lightdm network-manager network-manager-gnome packagekit packagekit-tools plymouth plymouth-label   colord dbus-user-session gconf-editor gparted gvfs gvfs-daemons libnss-systemd libpam-systemd light-locker lightdm network-manager network-manager-gnome packagekit packagekit-tools plymouth plymouth-label
   policykit-1 policykit-1-gnome rtkit synaptic task-xfce-desktop udisks2 xiccd   policykit-1 policykit-1-gnome rtkit synaptic task-xfce-desktop udisks2 xiccd
-Les NOUVEAUX paquets suivants seront installés :+Les NOUVEAUX paquets suivants seront installés :
   initscripts insserv startpar sysv-rc   initscripts insserv startpar sysv-rc
-Les paquets suivants ont été conservés :+Les paquets suivants ont été conservés :
   apt apt-utils cups-client exim4-daemon-light firefox-esr firefox-esr-l10n-fr libcups2 libcurl3-gnutls libgnutls-dane0 libgnutls30 libjs-jquery libnm0 libsmbclient libsystemd0 libwbclient0 ppp samba-libs   apt apt-utils cups-client exim4-daemon-light firefox-esr firefox-esr-l10n-fr libcups2 libcurl3-gnutls libgnutls-dane0 libgnutls30 libjs-jquery libnm0 libsmbclient libsystemd0 libwbclient0 ppp samba-libs
   systemd systemd-timesyncd wget   systemd systemd-timesyncd wget
Ligne 251: Ligne 270:
 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>
  
Ligne 260: Ligne 279:
 </code> </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 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).
 +
 +<code user>apt clean</code>
 +
 +===== 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.
  
debian-sid.txt · Dernière modification : 2021/01/21 18:16 de cyrille