====== Debian Sid ======
* Objet : Installer et maintenir une Debian Sid
* Niveau requis : {{tag>débutant avisé}}
* 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à !.]] :-)
* Suivi : {{tag>à-placer}}
* Création par [[user>cyrille]] 09/01/2021
* Testé par [[user>sushy]]
* 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 !))
===== Introduction =====
Voici simplement quelques règles de base afin de garder une Debian Sid (Debian **//unstable//**) à jour sans prendre [**//trop//**] de risques.
===== 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.
==== Modification du sources.list ====
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.
Le fichier peut être édité via la commande :
apt edit-sources
Tout ira très bien si le fichier contient exactement et uniquement la ligne suivante :
deb http://deb.debian.org/debian/ sid main non-free-firmware contrib non-free
* 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]] ;
* 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]] ;
* 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).
==== Migration vers Sid ====
Exécutez les opérations de mise à niveau suivantes :
apt update
apt full-upgrade
Après un redémarrage permettant d'utiliser le nouveau noyau, ce système sera en Sid.
===== Maintenir Debian Sid =====
Utiliser une distribution en développement permanent nécessite certaines précautions. Voici quelques outils permettant d'éviter certains écueils.
==== Mises à jour ====
S'il n'est pas nécessaire d'appliquer des mises à jour quotidiennes, il est quand même recommandé de le faire fréquemment. De 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 temps. Certains 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.
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.
À vous de trouver un équilibre.
==== Mise à jour complète et élagage mensuels ====
=== full-upgrade ===
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.
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`.
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 ===
apt autoremove
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 ===
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).
apt clean
==== É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]].
Vous pouvez également [[:doc:systeme:apt:apt-listbugs#consulter-la-liste-des-bugs|consulter la liste des bugs d'un paquet]].
==== 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 q pour quitter l'affichage).
**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 :
apt changelog apt
Affichera le //changelog// du paquet ''apt''. Appuyez sur q pour quitter.
==== Guetter les processus obsolètes avec needrestart ====
apt install needrestart
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