System maintenance (Français)

From ArchWiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
État de la traduction: Cet article est la version francophone de System maintenance. Date de la dernière traduction: 2021-12-11. Vous pouvez aider à synchroniser la traduction s'il y a eu des changements dans la version anglaise.

Une Maintenance régulière du système est nécessaire au maintien d'un bon fonctionnement d'Arch dans la durée. Il faut s'habituer à un entretien périodique.

Recherche d'erreurs

Échec de services de systemd

Recenser les services défaillants :

$ systemctl --failed

Information complémentaire: Systemd (Français)#Diagnostic.

Fichiers de Log

Pour la recherche d'erreurs dans les journaux, fichiers de /var/log, ainsi que les erreurs de haute priorité du journal de systemd:

# journalctl -p 3 -xb

Information complémentaire: Systemd (Français)#Journalisation Voir Xorg#Troubleshooting pour des informations sur où et comment Xorg garde trace des erreurs.

Sauvegardes

Sauvegarder ses données importantes à intervalles réguliers, liste d'applications pour choisir la mieux adaptée (en): Synchronization and backup programs

Fichiers de Configuration

Avant de modifier des fichiers de configuration, créez des sauvegardes afin de pouvoir revenir à une version fonctionnelle en cas de problèmes.

Les éditeurs comme Vim et Emacs peuvent le faire automatiquement, ainsi que des outils comme etckeeper (en) qui gardent /etc dans un système de contrôle de version (VCS) ; voir aussi Dotfiles#Tracking dotfiles directly with Git pour plus d'informations.

Liste des paquets installés

Gardez à jour une liste des paquets installés sur votre machine pour retrouver plus facilement votre environnement si une réinstallation complète était inévitable.

Voir Pacman (Français)/Tips and tricks (Français)#Liste des paquets installés.

Sauvegarde de la base de données de Pacman

Voir Pacman (Français)/Tips and tricks (Français)#Sauvegarde de la base de données de pacman.

Métadonnées de chiffrement des disques

Voir Data-at-rest encryption#Backup for disk encryption scenarios.

Système et données Utilisateur

Voir System backup.

Mises à Jour du Système

Il est recommandé de faire les mises à jour complètes du système via pacman à intervalles réguliers, à la fois pour profiter des dernières corrections de bogues et des mises à jour de sécurité, et aussi pour n'avoir pas trop d'éventuelles interventions manuelles en une seule fois. Lorsqu'on demande de l'aide à la communauté, on suppose généralement que le système est à jour.

Assurez-vous de la disponibilité - pour sauvetage en cas de problème - d'un media d'installation Archlinux ou autre CD/USB-Live. Si vous utilisez Arch dans un environnement de production, ou si vous ne pouvez vous permettre aucun temps d'arrêt pour quelque raison que ce soit, testez d'abord les modifications des fichiers de configuration, et les mises à jour des progiciels, sur un système en double non critique. Ensuite, si aucun problème ne se pose, déployer les changements dans le système de production.

En cas de paquets AUR dans le système, mettez-les à jour prudemment.

pacman est un puissant outil de gestion des paquets, mais il n'essaie pas de traiter tous les cas critiques. Les utilisateurs doivent être vigilants et assumer la responsabilité de la maintenance de leur propre système.

À lire avant toute mise à jour

Avant une mise à jour prenez connaissance des actualités, sur le site Archlinux.fr, ou par souscription au flux RSS RSS feed, arch-announce mailing list. Lorsque des mises à jour nécessitent une intervention inhabituelle de l'utilisateur (au-delà de ce qui peut être traité simplement en suivant les instructions données par pacman), un message d'information approprié sera publié.

Avant de mettre à jour un logiciel fondamental (tels que linux, Xorg, Systemd, ou glibc) vers une nouvelle version, consultez le forum approprié pour voir s'il y a eu des problèmes signalés.

Les utilisateurs doivent également être conscients que la mise à jour des paquets peut soulever des problèmes inattendus qui pourraient nécessiter une intervention immédiate; par conséquent, il est déconseillé de mettre à jour un système stable peu de temps avant qu'il ne soit nécessaire à l'exécution d'une tâche importante. Il est sage d'attendre plutôt d'avoir suffisamment de temps pour être en mesure de traiter d'éventuels problèmes après la mise à jour.

Astuce: Vous pouvez utiliser un «hook» pour pacman, informantAUR par exemple empêche toute mise-à-jour s'il a été publié une nouvelle Arch News depuis la dernière mise-à-jour, et que vous ne l'avez pas lue.

Évitez certaines commandes de pacman

Éviter absolument toute mise à jour partielle (#Les mises à jour partielles ne sont pas prises en charge). Autrement dit ne jamais utiliser la commande pacman -Sy; mais, à la place, toujours pacman -Syu.

Éviter l'option --overwrite de pacman. Celle-ci prend un «glob» (genre *.txt N.d.T.) comme argument. Elle permet d'ignorer un conflit de fichier, pour tout fichier qui correspondrait à ce glob et peut endommager des fichiers partagés par plusieurs paquets! Un système correctement maintenu ne devrait utiliser cette option qu'en cas de recommandation explicite des développeurs d'Arch. (voir #À lire avant toute mise à jour).

Éviter l'option -d de pacman: pacman -Rdd paquet qui désactive le contrôle des dépendances dans la désinstallation d'un paquet. Il peut en résulter la désinstallation associée d'une dépendance critique et la rupture du système.

Ne lancez pas pacman -Scc à moins qu'il y ait un besoin désespéré d'espace disque et pas ou peu de besoin pour les paquets archivés. Il est plus sûr de garder les anciens paquets disponibles en cache dans le cas où une mise à jour pose problème et demandant le retour à l'ancienne version. À la place, utiliser simplement pacman -Sc pour retirer de vos paquets archivés dans le cache de pacman, les paquets précédemment retirés de la base de pacman.

Les mises à jour partielles ne sont pas prises en charge

Arch Linux est une distribution de type rolling release. Ceci signifie que lorsque de nouvelles versions de bibliothèques library sont poussées vers les dépôts, les développeurs developers et utilisateurs de confiance Trusted Users reconstruisent dans les dépôts la totalité des paquets qui doivent l'être par rapport aux bibliothèques. Par exemple, si deux paquets dépendent de la même bibliothèque, la mise à jour d'un seul paquet pourrait également mettre à jour la bibliothèque (en tant que dépendance), ce qui pourrait briser l'autre paquet qui dépend d'une version plus ancienne de la bibliothèque.

C'est pourquoi les mises à jour partielles ne sont pas prises en charge. N'utilisez pas la commande pacman -Sy paquet ou tout équivalent tel que pacman -Sy suivi de pacman -S package. Toujours mettre à jour (avec pacman -Syu) avant d'installer un paquet. Soyez très prudent lorsque vous utilisez IgnorePkg et IgnoreGroup pour la même raison. Si le système a des paquets installés localement (comme les paquets AUR), les utilisateurs devront les reconstruire lorsque leurs dépendances recevront un soname bump.

Dans un scénario de mise à jour partielle, avec des binaires cassés parce qu'ils ne peuvent pas trouver les bibliothèques auxquelles ils sont liés, ne "corrigez" pas le problème simplement en créant des liens symboliques. Les bibliothèques reçoivent des "bump soname" lorsqu'elles ne sont pas rétrocompatibles. Un simple pacman -Syu vers un miroir correctement synchronisé résoudra le problème tant que pacman n'est pas cassé.

Le script bash checkupdates, inclus dans le paquet pacman-contrib, fournit un moyen sûr de vérifier les mises à jour des paquets installés sans exécuter une mise à jour du système en même temps.

Restez vigilants lors d'une mise à jour

Lors d'une mise à jour-système, soyez attentif aux messages d'alertes de pacman. Si l'utilisateur est invité à une action complémentaire, assurez-vous de la faire de suite. Si une alerte pacman est déroutante, recherchez les forums et les nouvelles récentes pour plus de détails.

Traiter rapidement les nouveaux fichiers de configuration

L'utilisation de pacman peut créer des fichiers .pacnew et .pacsave. Pacman avertit en ce cas et l'utilisateur doit traiter ces fichiers rapidement. Se référer à Gestion des fichiers de configurations pour détails.

De même pensez aux fichiers de configuration de votre home. Un paquet mis à jour peut fournir un nouveau fichier-exemple de configuration, si vous aviez copié l'ancien dans votre home, vérifier la nécessité de le modifier.

Redémarrage après une mise à jour

La mise à jour n'affecte pas les processus en cours d’exécution. Certains peuvent le réclamer, mais la plupart doivent être relancés manuellement pour appliquer la mis à jour.

Le paquet archlinux-contrib fournit un script appelé checkservices qui exécute pacdiff pour fusionner les fichiers .pacnew puis vérifier les processus en cours d'exécution utilisant des bibliothèques obsolètes et demande à l'utilisateur s'il souhaite qu'ils soient redémarrés.

Le noyau est particulièrement difficile à patcher «en production», aussi le redémarrage de la machine est la solution la plus sûre. Dans des cas pour lesquels ceci n'est pas envisageable voir la page: Kernel live patching (en).

Annuler une mise à jour cassée

S'il est connu ou attendu qu'une mise à jour de paquet cause des problèmes, les mainteneurs s'assureront que pacman affiche un message approprié lors de la mise à jour. Si vous rencontrez ces problèmes en ce cas, vérifiez deux fois la sortie de pacman en regardant /var/log/pacman.log.

Astuce: Des visualiseurs de log tel wat-gitAUR ou lnav peuvent aider.

A ce stade, sans information disponible par pacman, sans note à ce sujet dans les actualités du site, et sans messages sur le forum sur la mise à jour, envisagez de chercher de l'aide sur le site par le forum ou le canal Arch IRC channels (Français), ou rétrogradez le paquet incriminé, voir Rétrograder un paquet.

Vérification des paquets orphelins et/ou abandonnés

Après mise à jour, il peut maintenant y avoir des paquets qui ne sont plus nécessaires ou qui ne sont plus dans les dépôts officiels.

La commande pacman -Qtd cherche ces paquets "orphelins": installés comme dépendances mais n'étant plus requiqs par aucun paquet installé.

Si un tel orphelin est utile en tant que paquet isolé il est recommandé de modifier son motif d'installation par la commande pacman -D --asexplicit paquet. Voir la section concernant le motif d'installation. Autrement, s'il n'a pas utilité ce dernier peut être désinstallé.

En sus, certains paquets ne sont plus dans les dépôts distants mais peuvent toujours se trouver sur votre système local. On liste tous les paquets étrangers avec pacman -Qm. Mais notez que cette liste comprendra aussi les paquets installés manuellement, par exemple depuis AUR. Pour exclure les paquets qui sont (toujours) disponibles sur l'AUR, utilisez l'utilitaire ancient-packagesAUR.

Utiliser le gestionnaire de paquets pour installer un logiciel

Pacman gardera bien mieux que vous une trace des paquets installés. Tôt ou tard vous oublieriez une installation manuelle, l'avoir faite, quand, pourquoi, vous installeriez en créant des conflits avec d'autres paquets, à des emplacements non conformes, etc.

  • Installez les paquets présents dans les dépôts officiels comme décrit ici: Installation de paquets.
  • Si le programme souhaité n'est pas dans les dépôts, voyez si quelqu'un a créé un paquet AUR et suivez la méthode de l'article pour l'installer.
  • Enfin, pour un programme souhaité mais absent des dépôts, officiels ou AUR, apprenez à créer pour lui un paquet AUR Créer et modifier un paquet.

Voir les détails pour Pacman (Français)/Tips and tricks (Français)#Recherche des fichiers n'appartenant à aucun paquet.

Choix de pilotes libres

Essayez toujours les pilotes libres avant de recourir aux pilotes "propriétaires". Les pilotes libres sont le plus souvent plus stables et fiables que les propriétaires. Leurs bogues sont fixés plus vite et plus facilement. Bien que les pilotes propriétaires offrent plus de caractéristiques et capacités, ceci se fait au prix de la stabilité.

Pour éviter ce dilemme choisissez des composants matériels connus pour la maturité de leurs pilotes libres et la prise en charge complète qu'ils ont de leurs fonctionnalités. Une information peut se trouver ici : linux-drivers.org.

Prudence avec les paquets non-officiels

Usez avec précaution des paquets AUR ou des dépôts non officiels. La plupart sont fournis par des utilisateurs normaux et n'ont pas les mêmes standards que ceux des dépôts officiels. Soyez prudents avec les assistants AUR qui automatisent l'installation. Toujours vérifier les PKGBUILDs du point de vue de leur rigueur, cherchant de simples erreurs mais parfois des codes malicieux, avant de les compiler et de les installer.

Pour simplifier la maintenance, limitez le nombre de paquets non officiels utilisés. Effectuer des contrôles périodiques de ceux qui sont réellement utilisés et supprimer (ou remplacer par leurs homologues officiels) tous les autres. Voir Pacman (Français)/Tips and tricks (Français)#Maintenance pour quelques commandes utiles.

Mettre à jour de la liste des miroirs

La qualité, en rapidité de mise à jour et débit, des dépôts-miroirs varie dans le temps, avec parfois dégradation ou même désactivation.

Voir Miroirs pour les details.

Nettoyer le Système

Pour la suppression de fichiers à supprimer, il est important de trouver ceux qui occupent le plus d'espace disque. Les programmes d'aide à ce sujet se trouvent dans:

Cache des Paquets

Supprimez les .pkg paquets dont vous ne voulez plus de /var/cache/pacman/pkg/ pour un gain d'espace. Voir Nettoyer le cache des paquets.

Paquets Inutiles (orphelins)

Voir ci-dessus

Fichiers de configuration anciens

Les anciens fichiers de configuration peuvent être en conflit avec les mises à jour de paquets, ou se corrompre avec le temps. Supprimez périodiquement les inutiles, en particulier dans votre dossier personnel et ~/.config. Pour les mêmes raisons soyez prudent lorsque vous partagez des dossiers personnels entre les installations. Veille particulière des répertoires suivants:

  • ~/.config/ -- emplacement des configuration des applications
  • ~/.cache/ -- le cache de certains programmes peut croître exagérément
  • ~/.local/share/ -- des fichiers périmés peuvent y rester

Voir XDG Base Directory support(en)

Pour garder propre le répertoire home de fichiers temporaires à de mauvais endroits, une bonne idée est de gérer une liste de fichiers non désirés et de les supprimer régulièrement, par exemple avec rmshit.py.

rmlint pour trouver et éventuellement supprimer les fichiers en double, les fichiers vides, les répertoires vides récursifs et les liens symboliques cassés.

Liens symboliques cassés

Il peut s'en trouver dispersés dans votre système: exemples de façons d'y parvenir: ici et ici aussi.

Pour une liste rapide :

# find -xtype l -print

Puis voyez la liste et supprimez les entrées inutiles.

Trucs et astuces

Évitez les paquets de type développement

Afin de vous prémunir de sérieux problèmes, n'installez pas les paquets de développement que l'on trouve généralement dans AUR ou parfois dans community. Ces paquets prennent le code directement dans la branche de développement du projet et possèdent dans le nom du paquet l'extension suivante : dev, devel, svn, cvs, git, hg, bzr, ou darcs.

Plus précisément, évitez d'installer toute version de développement pour des paquets critiques comme le noyau (linux) ou la glibc tels que ceux trouvés dans les dépôts testing ou community.

Si vous construisez un paquet personnalisé en utilisant makepkg, vérifiez que le PKGBUILD respecte les standards d'empaquetage d'Arch, incluant la liste de dépendances. Utilisez namcap pour vérifier l'archive finale (.tar.gz) ou le fichier PKGBUILD.

Installez le noyau LTS

Le paquet linux-lts est un noyau alternatif basé sur le noyau linux 5.4 et se trouve dans le dépôt core. Cette version particulière du noyau jouit d'un soutien de longue durée (Long Term Support) de la part des mainteneurs du noyau, notamment pour la résolution des failles de sécurité, de bugs et le rétroportage (backport) de certaines fonctionnalités.

Ce noyau est idéal pour un serveur ou comme noyau d'appoint pour le cas où le plus récent pose problème.

Note: kernel et initrd pour le LTS présents dans /boot sont vmlinuz-linux-lts, initramfs-linux-lts.img et initramfs-linux-lts-fallback.img.

Il vous restera à rajouter les entrées appropriées dans le menu de votre chargeur d'amorçage.

Astuce: Le noyau LTS peut nécessiter quelques aménagements par rapport à la version courante du noyau: installer nvidia-lts pour les utilisateurs du pilote nvidia, charger explicitement certains modules si besoin (d'expérience: pour le réseau ^^).

À voir aussi