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

Ceci est une ancienne révision du document !


Maintenir sa Debian SID

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Gérer sa Debian SID

Voici simplement quelques règles de base afin de garder une debian SID (debian unstable) à jour sans prendre [trop] de risques.

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 :

cat /etc/apt/sources.list
deb http://deb.debian.org/debian/ sid main non-free contrib

ou

cat /etc/apt/sources.list
deb http://deb.debian.org/debian/ unstable main non-free contrib

ou

apt edit-sources
  • Les tags main non-free contrib : le main est indispensable, les 2 autres à votre guise.
  • Éviter, notamment le dépôt deb-multimedia.

L'upgrade en SID

Exécutez les opération de mise à jour suivantes:

apt apt update 
apt full-upgrade

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.

Que faire en cas de paquet(s) buggué(s)

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

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

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.

Option 3 : 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.

Geler un paquet:

Syntaxe avec aptitude:

aptitude hold <le_paquet_a_geler>

Sinon passer par apt-mark

apt-mark hold <le_paquet_a_geler>

Pour dégeler un paquet:

Syntaxe avec aptitude:

aptitude unhold <le_paquet_a_geler>

Sinon passer par apt-mark:

apt-mark unhold <le_paquet_a_geler>

Connaître la liste des paquets geler de votre système:

Avec aptitude:

aptitude search "~ahold"

Avec dpkg:

dpkg --list | grep ^hi

Avec apt-mark

apt-mark showhold

Une fois le tag hold positionner, reprendre la procédure autant de fois qu'il y a des paquets buggués.

apt update
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]

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.

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/?/...]

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

Ê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

Geler le paquet qui pose soucis:

root@valhalla:~# apt-mark hold firefox-esr:
firefox-esr passé en figé (« hold »).
root@valhalla:~# apt-mark showhold
firefox-esr
libgnutls30
libjs-jquery

Relancer la mise à jour:

apt upgrade

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

apt unhold firefox-esr libgnutls30 libjs-jquery
apt update
apt upgrade

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

apt full-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é 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
  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
  gir1.2-secret-1 gir1.2-soup-2.4 gir1.2-webkit2-4.0 gnome-accessibility-themes gnome-keyring gnome-keyring-pkcs11 gnome-themes-extra gnome-themes-extra-data gparted-common gstreamer1.0-gtk3
  gtk2-engines-pixbuf gvfs-common gvfs-libs hyphen-en-us libao-common libao4 libappstream4 libatasmart4 libatk-adaptor libayatana-appindicator3-1 libayatana-ido3-0.4-0 libayatana-indicator3-7
  libblockdev-crypto2 libblockdev-fs2 libblockdev-loop2 libblockdev-part-err2 libblockdev-part2 libblockdev-swap2 libblockdev-utils2 libblockdev2 libbluetooth3 libbrlapi0.8 libcdr-0.1-1 libcolorhug2
  libdotconf0 libept1.6.0 libespeak-ng1 libfreehand-0.1-1 libgconf-2-4 libgusb2 libjim0.79 libjs-sphinxdoc libjs-underscore liblightdm-gobject-1-0 liblouis-data liblouis20 libmbim-glib4 libmbim-proxy
  libmm-glib0 libmspub-0.1-1 libndp0 libnm0 libnma-common libnma0 libntfs-3g883 libpackagekit-glib2-18 libpagemaker-0.0-0 libpam-gnome-keyring libparted-fs-resize0 libpcaudio0 libplymouth5 libpolkit-agent-1-0
  libqmi-glib5 libqmi-proxy libqxp-0.0-0 libreoffice-calc libreoffice-draw libreoffice-gtk3 libreoffice-help-en-us libreoffice-impress libsane libspeechd2 libstemmer0d libteamdctl0 libudisks2-0 libvisio-0.1-1
  libvolume-key1 libzmf-0.0-0 lightdm-gtk-greeter lp-solve mobile-broadband-provider-info modemmanager mythes-en-us ntfs-3g orca p11-kit p11-kit-modules perl-tk python3-brlapi python3-cups python3-cupshelpers
  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
Veuillez utiliser « apt autoremove » pour les supprimer.
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
  policykit-1 policykit-1-gnome rtkit synaptic task-xfce-desktop udisks2 xiccd
Les NOUVEAUX paquets suivants seront installés :
  initscripts insserv startpar sysv-rc
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
  systemd systemd-timesyncd wget
0 mis à jour, 4 nouvellement installés, 23 à enlever et 20 non mis à jour.
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.
Souhaitez-vous continuer ? [O/n] y

Autoremove: Ainsi que

apt autoremove
1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
atelier/chantier/maintenir-debian-sid.1610309493.txt.gz · Dernière modification: 10/01/2021 21:11 par cyrille

Pied de page des forums

Propulsé par FluxBB