====== 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 !)) 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 soit de partir d'une **debian stable** soit d'une **debian testing** et de l'upgrader en sid en modifiant le sources.list. ==== Modification du sources.list ==== Une fois votre debian (stable ou testing) installée, modifiez le fichier ''sources.list'' pour qu'il aille chercher les 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 contrib * Pour en savoir plus sur l'utilisation des sections **main non-free contrib**, consulter [[doc:systeme:apt:sources.list#sections|Sources.list - les sections]] * Pour des informations plus détaillées sur les fichiers sources.list pour testing/sid: [[doc:systeme:apt:sources.list:testing|sources.list pour debian testing/sid]] * Les dépôts non-officiels (comme **deb-multimedia** par exemple) sont sources de problèmes et sont à éviter autant que possible (en particulier pendant le processus de mise à jour). ==== Migration vers Sid ==== Exécutez les opérations de mise à jour suivantes: apt update apt full-upgrade Après un redémarrage pour utiliser le nouveau noyau, ce système sera en Sid. ===== Maintenir sa 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 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 paquets recommandés qui ont été installés par le passé mais ne sont plus utilisés. 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 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, il scane les changelogs à 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 de choisir entre deux solutions : installer ou non le paquet. À noter que plus un paquet est présent depuis longtemps dans Sid, et 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 détectera laissera plein de bugs non-détectés passer, 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 tuto [[: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 === **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) 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: apt changelog apt Affichera le changelog du paquet ''apt''. Appuyer 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. ==== Sauvegarde du système ==== La documentation officielle préconise une sauvegarde du système et la réalisation d'instantanés 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.