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 →
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente Prochaine révision Les deux révisions suivantes | ||
atelier:chantier:maintenir-debian-sid [10/01/2021 21:14] cyrille [Maintenir sa SID] |
atelier:chantier:maintenir-debian-sid [08/02/2021 18:20] captnfab |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Maintenir sa Debian SID ====== | + | ====== Maintenir sa Debian Sid ====== |
- | * Objet :Gérer et maintenir une debian SID | + | * Objet :Installer et maintenir une debian Sid |
* Niveau requis : {{tag>débutant avisé}} | * Niveau requis : {{tag>débutant avisé}} | ||
- | * Commentaires : Quelques règles à respecter pour maintenir sa debian SID sans la casser. | + | * 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à !.]] :-) | * Débutant, à savoir : [[:doc:systeme:commandes:le_debianiste_qui_papillonne|Utiliser GNU/Linux en ligne de commande, tout commence là !.]] :-) | ||
* Suivi : {{tag>en-chantier à-tester à-placer}}. | * Suivi : {{tag>en-chantier à-tester à-placer}}. | ||
* Création par [[user>cyrille]] 09/01/2021 | * Création par [[user>cyrille]] 09/01/2021 | ||
- | * Testé par <...> le <...> FIXME | + | * Testé par <...> le <...> |
- | * Amélioré par [[user>David5647]] | + | * 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 !)) FIXME | + | * 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 !)) |
- | **Nota :** | + | ===== Gérer sa Debian Sid ===== |
- | Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli ! | + | Voici simplement quelques règles de base afin de garder une debian Sid (**debian unstable**) à jour sans prendre [**//trop//**] de risques. |
- | ===== Gérer sa Debian SID ===== | + | ===== 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. | ||
- | Voici simplement quelques règles de base afin de garder une debian SID (**debian unstable**) à jour sans prendre [**//trop//**] de risques. | + | ==== 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. | ||
- | ===== Installer SID ===== | + | Le fichier peut être édité via la commande: |
+ | <code root> | ||
+ | apt edit-sources | ||
+ | </code> | ||
- | 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. | + | Tout ira très bien si le fichier contient exactement et uniquement la ligne suivante: |
- | + | <code apt_sources /etc/apt/sources.list> | |
- | + | ||
- | + | ||
- | ==== Le fichier sources.list ==== | + | |
- | + | ||
- | Le plus simple : | + | |
- | <code root> | + | |
- | cat /etc/apt/sources.list | + | |
deb http://deb.debian.org/debian/ sid main non-free contrib | deb http://deb.debian.org/debian/ sid main non-free contrib | ||
- | </code> | ||
- | ou | ||
- | <code root> | ||
- | cat /etc/apt/sources.list | ||
- | deb http://deb.debian.org/debian/ unstable main non-free contrib | ||
- | </code> | ||
- | ou | ||
- | <code root> | ||
- | apt edit-sources | ||
</code> | </code> | ||
- | * Les tags **main non-free contrib** : le **main** est indispensable, les 2 autres à votre guise. | + | * Pour en savoir plus sur l'utilisation des sections **main non-free contrib**, consulter [[doc:systeme:apt:sources.list#sections|Sources.list - les sections]] |
- | * Éviter, notamment le dépôt **deb-multimedia**. | + | * 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). | ||
- | ==== L'upgrade en SID ==== | + | ==== Migration vers Sid ==== |
- | Exécutez les opération de mise à jour suivantes: | + | Exécutez les opérations de mise à jour suivantes: |
- | <code root>apt apt update | + | <code root>apt update |
apt full-upgrade</code> | apt full-upgrade</code> | ||
- | Vous devriez vous retrouver en SID | + | Après un redémarrage pour utiliser le nouveau noyau, ce système sera 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** » ; | + | ===== Maintenir sa Sid ===== |
- | À l'étape « **Choose a mirror of the Debian archive** » choisissez la version « **sid - unstable** ». | + | Utiliser une distribution en développement permanent nécessite certaines précautions. Voici quelques outils permettant d'éviter certains écueils. |
- | ===== Maintenir sa SID ===== | + | |
+ | ==== Mises à jour ==== | ||
+ | Il est recommandé de mettre à jour sa Sid assez régulièrement, plusieurs fois par mois dans l'idéal. | ||
- | ==== Installer apt-listbugs ==== | + | Il n'est pas nécessaire de la mettre à jour quotidiennement, surtout si votre système fonctionne bien. |
+ | 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épot security, et les mises à jour de sécurité sont mêlées aux autres mises à jour de paquets… | ||
- | 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. | + | À 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. |
- | ==== Que faire en cas de paquet(s) buggué(s) ==== | + | À vous de trouver un équilibre. |
- | Plusieurs étapes snt alors à respecter : | + | ==== Éviter les bugs graves avec apt-listbugs ==== |
- | * Lecture du rapport de gug | + | |
- | * Pin les paquets problématiques | + | |
- | * Geler / dégeler les paquets (hold/unhold) | + | |
- | ==== Option 1 : Lecture du rapport de bug ==== | + | 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. |
- | La première chose à faire est de lire la remontée de bug et de voir si le bug vous concerne. | + | À 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. |
- | * Soit l'architecture de votre système n'est pas concernée | + | Pour apprendre à utiliser efficacement et intelligemment cet outil, consultez le tuto [[:doc:systeme:apt:apt-listbugs]]. |
- | * 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 | + | <note info>Vous pouvez également [[https://debian-facile.org/doc:systeme:apt:apt-listbugs#consulter-la-liste-des-bugs|consulter la liste des bugs d'un paquet]].</note> |
- | * d'installer quand ce paquet (votre cas sus-cité) | + | |
- | * de ne pas installer ce paquet | + | |
- | ==== apt-listbugs et pin de paquet buggué ===== | + | ==== Suivre l'évolution des paquets avec apt-listchanges ==== |
- | 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. | + | **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) |
- | 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. | + | ==== Consulter un changelog ==== |
- | ==== Alternative non recommandée : Gel / dégel de paquet ==== | + | Si jamais vous avez regardé trop vite la description et souhaitez la revisionner plus tard, utiliser l'attribut **changelog** d'**apt** ou d'**aptitude**. |
- | 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** | + | Exemple: |
+ | <code user>apt changelog apt</code> | ||
- | 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. | + | Affichera le changelog du paquet ''apt''. Appuyer sur "**q**" pour quitter. |
- | __**Geler un paquet:**__ | ||
- | |||
- | **Syntaxe avec aptitude:** | ||
- | <code root> | ||
- | aptitude hold <le_paquet_a_geler> | ||
- | </code> | ||
- | |||
- | **Sinon passer par apt-mark** | ||
- | <code root> | ||
- | apt-mark hold <le_paquet_a_geler> | ||
- | </code> | ||
- | |||
- | __**Pour dégeler un paquet:**__ | ||
- | |||
- | **Syntaxe avec aptitude:** | ||
- | <code root> | ||
- | aptitude unhold <le_paquet_a_geler> | ||
- | </code> | ||
- | |||
- | **Sinon passer par apt-mark:** | ||
- | <code root> | ||
- | apt-mark unhold <le_paquet_a_geler> | ||
- | </code> | ||
- | |||
- | __**Connaître la liste des paquets geler de votre système:**__ | ||
- | |||
- | **Avec aptitude:** | ||
- | <code root> | ||
- | aptitude search "~ahold" | ||
- | </code> | ||
- | |||
- | **Avec dpkg:** | ||
- | <code root> | ||
- | dpkg --list | grep ^hi | ||
- | </code> | ||
- | |||
- | **Avec apt-mark** | ||
- | <code root> | ||
- | apt-mark showhold | ||
- | </code> | ||
- | |||
- | Une fois le tag hold positionner, reprendre la procédure autant de fois qu'il y a des paquets buggués. | ||
- | |||
- | |||
- | |||
- | ===== 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 ==== | ||
- | **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 le 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 mensuel & autoremove ==== | ||
Ligne 163: | Ligne 91: | ||
__**Full-upgrade:**__ | __**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 | + | Une fois par mois environ, pensez à lancer un full-upgrade afin de nettoyer les paquets dont le système n'a plus besoin |
- | <code root> | + | <code root>apt full-upgrade</code> |
- | apt full-upgrade | + | <code>Lecture des listes de paquets... Fait |
- | Lecture des listes de paquets... Fait | + | |
Construction de l'arbre des dépendances | Construction de l'arbre des dépendances | ||
Lecture des informations d'état... Fait | Lecture des informations d'état... Fait | ||
Ligne 199: | Ligne 126: | ||
__**Autoremove:**__ | __**Autoremove:**__ | ||
Ainsi que | Ainsi que | ||
- | <code root> | + | <code root>apt autoremove</code> |
- | apt autoremove | + | |
- | </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 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). | ||
+ | |||
+ | <code root>apt clean</code> | ||
+ | |||
+ | ==== 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. | ||