Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
debian-sid [2021/01/09 19:16] – [Mettre à jour sa SID] cyrille | debian-sid [2021/01/21 17:16] (Version actuelle) – [Cas pratique] cyrille | ||
---|---|---|---|
Ligne 7: | Ligne 7: | ||
Le plus simple est de récupérer une **iso de testing**, de l' | Le plus simple est de récupérer une **iso de testing**, de l' | ||
+ | |||
===== Le fichier sources.list ===== | ===== Le fichier sources.list ===== | ||
+ | |||
Le plus simple : | Le plus simple : | ||
Ligne 14: | Ligne 16: | ||
cat / | cat / | ||
deb http:// | deb http:// | ||
+ | </ | ||
+ | ou | ||
+ | <code root> | ||
+ | cat / | ||
+ | deb http:// | ||
+ | </ | ||
+ | ou | ||
+ | <code root> | ||
+ | apt edit-sources | ||
</ | </ | ||
- | * Les tags main non-free contrib | + | * Les tags **main non-free contrib** : le **main** est indispensable, |
* Éviter, notamment le dépôt **deb-multimedia**. | * Éviter, notamment le dépôt **deb-multimedia**. | ||
+ | |||
+ | ===== L' | ||
+ | |||
+ | Exécutez les opération de mise à jour suivantes: | ||
+ | <code root>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:// | ||
+ | |||
+ | Durant l' | ||
+ | À l' | ||
+ | ===== L' | ||
+ | |||
+ | Exécutez les opération de mise à jour suivantes: | ||
+ | <code root>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:// | ||
+ | |||
+ | Durant l' | ||
+ | À l' | ||
====== Maintenir sa SID ====== | ====== Maintenir sa SID ====== | ||
Ligne 27: | Ligne 65: | ||
C'est le paquet essentiel pour maintenir une debian SID à jour. Une fois les paquets à mettre à jour, télécharger, | C'est le paquet essentiel pour maintenir une debian SID à jour. Une fois les paquets à mettre à jour, télécharger, | ||
- | ===== Gel / dégel | + | Il est recommandé |
+ | ===== Que faire en cas de paquet(s) buggué(s) ===== | ||
- | 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 | + | Plusieurs étapes sont alors |
+ | * Lecture du rapport de big | ||
+ | * Pin les paquets problématiques | ||
+ | * // | ||
- | __**Geler un paquet:**__ | + | ===== Etape 1 : Lecture du rapport de bug ===== |
- | **Syntaxe avec aptitude: | + | La première chose à faire est de lire la remontée de bug et de voir si le bug vous concerne. |
- | <code root> | + | |
- | aptitude hold < | + | |
- | </ | + | |
- | **Sinon passer par apt-mark** | + | |
- | <code root> | + | |
- | apt-mark hold < | + | |
- | </ | + | |
+ | * 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' | ||
- | __**Pour dégeler un paquet:**__ | + | En fonction du bug, vous déciderez donc |
+ | | ||
+ | | ||
- | **Syntaxe avec aptitude:** | + | On se rend souvent compte qu'à peine ~10% des bugs signalés par **apt-listbugs** nous concernent vraiment. |
- | <code root> | + | |
- | aptitude unhold < | + | |
- | </ | + | |
- | **Sinon passer par apt-mark:** | + | ===== Etape 2 : apt-listbugs et pin de paquet buggué ====== |
- | <code root> | + | |
- | apt-mark unhold < | + | |
- | </ | + | |
- | __**Connaître la liste des paquets geler de votre système:**__ | + | Dans le cas où le bug affecterait le programme dans votre utilisation. L' |
- | **Avec aptitude:** | + | Concrétement quand **apt-listbugs** listera des bugs, il suffira de répondre |
- | <code root> | + | |
- | aptitude search | + | |
- | </code> | + | |
- | **Avec dpkg:** | + | ===== Alternative non recommandée |
- | <code root> | + | |
- | dpkg --list | grep ^hi | + | |
- | </code> | + | |
- | **Avec apt-mark** | + | Une autre méthode mais qui semble non recommandée est le **gel / dégel** de paquet via l' |
- | <code root> | + | |
- | 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. | ||
- | ===== Mettre à jour sa SID ===== | + | |Action| aptitude | apt-mark | |
+ | |Geler un paquet| aptitude hold < | ||
+ | |Degeler un paquet| aptitude unhold < | ||
+ | |Lister les paquets gelés| aptitude search " | ||
- | C'est l' | ||
- | * Ne pas mettre à jour | ||
- | * Geler les paquets problématiques | ||
- | La procédure est ensuite | + | |
+ | Une fois le tag hold positionner, | ||
+ | |||
+ | ===== Cas pratique ===== | ||
<code root> | <code root> | ||
apt update | 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é/ | ||
+ | bogues de gravité serious sur firefox-esr (78.6.0esr-1 → 78.6.1esr-1) <En attente de traitement> | ||
+ | b1 - #979612 - firefox-esr: | ||
+ | Résumé : | ||
+ | | ||
+ | Êtes-vous certain(e) de vouloir installer/ | ||
+ | A cette étape, il faut être prudent, saisissez ? pour voir les choix offerts | ||
<code root> | <code root> | ||
- | apt upgrade | + | Êtes-vous certain(e) de vouloir installer/ |
+ | | ||
+ | | ||
+ | < | ||
+ | | ||
+ | #< | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | d < | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | d b< | ||
+ | | ||
+ | p < | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | i < | ||
+ | i b< | ||
+ | | ||
+ | | ||
+ | | ||
+ | ? | ||
+ | </ | ||
+ | |||
+ | Si vous voulez voir le détail du bug, saisissez le numéro de bug. Par exemple, dans le cas sus-cité | ||
+ | |||
+ | <code root> | ||
+ | Retrieving report #979612 from Debian bug tracking system...</ | ||
+ | |||
+ | Le rapport de bug s' | ||
+ | |||
+ | Si le rapport ne vous concerne pas, vous pouvez accepter la mise à jour du paquet, sinon épingler ce paquet (letttre " | ||
+ | |||
+ | ===== Cas pratique 2 ===== | ||
+ | |||
+ | <code root> | ||
Lecture des listes de paquets... Fait | Lecture des listes de paquets... Fait | ||
Construction de l' | Construction de l' | ||
Lecture des informations d' | Lecture des informations d' | ||
- | Calcul de la mise à jour... Fait | + | Les NOUVEAUX |
- | Les paquets suivants ont été conservés : | + | |
- | apt apt-utils cups-client exim4-daemon-light libcups2 libcurl3-gnutls | + | 0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour. |
- | libgnutls-dane0 libgnutls30 libjs-jquery libnm0 libnss-systemd | + | Il est nécessaire de prendre |
- | libpam-systemd libsmbclient libsystemd0 libwbclient0 network-manager ppp | + | Après cette opération, |
- | samba-libs systemd systemd-timesyncd wget | + | Réception de :1 http:// |
- | Les paquets suivants seront | + | Réception de :2 http:// |
- | | + | 62,5 ko réceptionnés en 0s (405 ko/s) |
- | | + | Récupération des rapports de bogue… Fait |
- | firmware-misc-nonfree g++-10 gcc-10 gcc-10-base giblib1 ispell kmod | + | Analyse des informations Trouvé/ |
- | libapt-pkg6.0 libasan6 libatomic1 libaudit-common libaudit1 libbinutils | + | bogues de gravité serious sur python3-rgain3 (→ 1.0.0-1) < |
- | libcc1-0 libctf-nobfd0 libctf0 libdpkg-perl libdw1 libelf1 libgcc-10-dev | + | b1 - #968186 - python3-rgain3: |
- | libgcc-s1 libgfortran5 libgomp1 libhttp-message-perl libitm1 libjs-sphinxdoc | + | Résumé : |
- | libkmod2 libllvm11 liblsan0 libmaxminddb0 libproxy-tools libproxy1v5 | + | |
- | libpulse-dev libpulse-mainloop-glib0 libpulse0 libpulsedsp libquadmath0 | + | Êtes-vous certain(e) de vouloir installer/ |
- | 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 | + | |
- | Après cette opération, | + | |
- | Souhaitez-vous continuer ? [O/n] | + | |
- | </ | + | |
+ | Vous ne savez pas quelle décision prendre | ||
- | A cette étape, répondez OUI. | + | La liste des options apparaîtra |
+ | : | ||
+ | < | ||
+ | | ||
+ | | ||
+ | < | ||
+ | | ||
+ | #< | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | d < | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | d b< | ||
+ | | ||
+ | p < | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | | ||
+ | (APT doit être relancé pour activer cette option). | ||
+ | i < | ||
+ | i b< | ||
+ | | ||
+ | | ||
+ | | ||
+ | ? | ||
+ | Êtes-vous certain(e) de vouloir installer/ | ||
- | Les mises à jour sont alors téléchargées et le changelog | + | SI vous saisissez |
+ | < | ||
- | <code root> | ||
- | Souhaitez-vous continuer ? | ||
- | Réception de :1 http:// | ||
- | [ .. ] | ||
- | Réception de :74 http:// | ||
- | 166 Mo réceptionnés en 29s (5 636 ko/s) | ||
- | Récupération des rapports de bogue… Fait | ||
- | Analyse des informations Trouvé/ | ||
- | bogues de gravité serious sur firefox-esr (78.6.0esr-1 → 78.6.1esr-1) <En attente de traitement> | ||
- | b1 - #979612 - firefox-esr: | ||
- | Résumé : | ||
- | | ||
- | Êtes-vous certain(e) de vouloir installer/ | ||
- | </ | ||
- | En cas de bug, vous verrez cette dernière ligne apparaitre, si pas de bug la mise à jour se poursuivra. | + | Un écran affichera la descrition du bug : |
+ | < | ||
+ | anything for the replaygain and collectiongain CLI tools, but would | ||
+ | break compatibility if we had packages in Debian that imported it as a | ||
+ | library. | ||
- | Dans ce le cas d'un bug, comme ici, stopper la mise à jour | + | I've asked for clarification on whether this was intentional, but until |
+ | I get an answer, this library probably shouldn' | ||
- | <code root> | + | smcv</ |
- | Êtes-vous certain(e) de vouloir installer/ | + | |
- | **************************************************************** | + | |
- | ****** Sortie sur erreur pour interrompre l' | + | |
- | **************************************************************** | + | |
- | E: Le sous-processus / | + | |
- | E: Failure running script / | + | |
- | </ | + | |
- | Geler le paquet qui pose soucis: | + | Lisez le attentivement et ensuite prenez la décision la plus appropriée. Appuyer sur q pour revenir à l' |
- | < | + | < |
- | root@valhalla: | + | Retrieving report |
- | firefox-esr passé en figé (« hold »). | + | bug tracking system... What do you want to do now [x|O|r|b|e|q|? |
- | root@valhalla: | + | x - Provide extra information. |
- | firefox-esr | + | O - (default) Show other bug reports (return to bug listing). |
- | libgnutls30 | + | r - Redisplay this message. |
- | libjs-jquery | + | b - Launch web browser to read full log. |
- | </ | + | e - Launch e-mail client to read full log. |
- | Relancer la mise à jour: | + | q - I'm bored; quit please. |
- | <code root> | + | ? - Display this help. |
- | apt upgrade | + | What do you want to do now [x|O|r|b|e|q|? |
- | </ | + | |
- | Si de nouveaux bugs sortent, recommencer ces étapes autant de fois que nécessaire. | + | Répondez **__q__** et décidez ou non de pinner le paquet. |
- | 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 | ||
- | </ | ||
- | ===== Des utilitaires pratiques ===== | + | ====== Des utilitaires pratiques ====== |
+ | |||
+ | |||
+ | On peut utiliser ces utilitaires en parallèle : | ||
+ | |||
+ | ===== apt-listchanges ===== | ||
+ | |||
+ | **apt-listchanges** : à l' | ||
+ | |||
+ | ===== 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' | ||
+ | |||
+ | Exemple: | ||
+ | <code user>apt changelog apt</ | ||
+ | |||
+ | Affichera< | ||
+ | apt (2.1.16) unstable; urgency=medium | ||
+ | |||
+ | [ Faidon Liambotis ] | ||
+ | * Various fixes to http and connect method | ||
+ | - basehttp: also consider Access when a Server' | ||
+ | - connect: convert a C-style string to std:: | ||
+ | - connect: use ServiceNameOrPort, | ||
+ | |||
+ | [ 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, | ||
+ | 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.</ | ||
+ | Appuyer sur " | ||
+ | |||
+ | **Un bug** | ||
+ | |||
+ | Pour revoir un bug, utiliser apt-listbugs: | ||
+ | |||
+ | <code user> | ||
+ | Récupération des rapports de bogue… Fait | ||
+ | Analyse des informations Trouvé/ | ||
+ | bogues de gravité serious sur apt (→ ) <En attente de traitement> | ||
+ | b1 - #922223 - apt: terminate called after throwing an instance of ' | ||
+ | bogues de gravité serious sur apt (→ ) < | ||
+ | b2 - #931566 - Don't complain about suite changes (Acquire:: | ||
+ | Résumé : | ||
+ | apt(2 bogues)</ | ||
+ | |||
+ | |||
+ | 2 options complémentaires sont intéressantes : | ||
+ | |||
+ | **-s < | ||
+ | |||
+ | **-S < | ||
+ | |||
+ | ===== needrestart ===== | ||
- | On peut utiliser ces utilitaires en parallèle | ||
- | **apt-listchanges** : à l' | ||
**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 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) | ||
Ligne 198: | Ligne 330: | ||
Lecture des informations d' | Lecture des informations d' | ||
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 210: | Ligne 342: | ||
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 | + | Veuillez utiliser |
- | Les paquets suivants seront | + | Les paquets suivants seront |
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 | + | Les NOUVEAUX paquets suivants seront |
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 222: | Ligne 354: | ||
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' | Après cette opération, 45,7 Mo d' | ||
- | Souhaitez-vous | + | Souhaitez-vous |
</ | </ | ||
Ligne 231: | Ligne 363: | ||
</ | </ | ||
+ | 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' | ||
+ | * Corrige le problème où apt pourrait envisager de supprimer un noyau en cours d' | ||
+ | * Supprime automatiquement les noyaux inutilisés sur apt **{full, dist} -upgrade**. | ||
+ | * Cela permet de garantir que nous ne manquons pas d' | ||
+ | * Ne garde que 3 noyaux (et non 4). | ||
+ | |||
+ | |||
+ | ===== Vider le cache d'apt ===== | ||
+ | Comme les mises à jour sont fréquentes, | ||
+ | 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</ | ||
+ | ===== Sauvegarde du système ===== | ||
+ | La documentation officielle préconise une sauvegarde du système et la réalisation | ||