Maintenance Système

De ArchwikiFR

Traduction du Wiki

Une Maintenance Régulière du Système est nécessaire au maintien d'un bon fonctionnement d'Arch. 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#Diagnostic.

Fichiers de Log

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

# journalctl -p 3 -xb

Information complémentaire: Systemd#Journalisation

Erreurs de Xorg: Xorg#anomalies

Sauvegardes

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

  • Automatisation par la création de Timers dans Systemd: systemd/Timers.

Fichiers de Configuration

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

Les éditeurs comme vim et emacs peuvent le faire automatiquement, ainsi que des outils comme etckeeper qui gardent /etc dans un système de contrôle de version (VCS) ; voir aussi dotfiles#Version control 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.

Voyez ici les détails: Pacman tips#List of installed packages.

1. créer les listes :

• des paquets installés issus des dépôts officiels dans un simple fichier texte :

$ pacman -Qqen > ~/Réinstallation/pkglist-repo.txt

• des paquets installés issus du dépôt AUR dans un simple fichier texte :

$ pacman -Qqem > ~/Réinstallation/pkglist-aur.txt

2. restauration :

$ sudo pacman -S --needed $(< ~/Réinstallation/pkglist-repo.txt)

et de même avec les paquets AUR par votre assistant-AUR préféré

Sauvegarde de la base de données de Pacman

Ici : Pacman tips#Back-up the pacman database.

En-têtes LUKS

Il peut être utile de vérifier et de synchroniser périodiquement les sauvegardes des en-têtes de partitions chiffrées LUKS, surtout si les phrases de passe ont été révoquées. Voir Dm-crypt/Device encryption#Backup and restore.

Système et données Utilisateur

Dans le Wiki inter: System backup.

Mises à Jour du Système

  • Il est recommandé de faire les mises à jour complètes du système via Mise à jour des paquets à 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, ou par souscription au flux RSS RSS feed, arch-announce mailing list, ou en suivant @archlinux sur Twitter. 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 à niveau un logiciel fondamental (tels que Noyaux 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 à niveau.

Éviter certaines commandes de pacman

  • Éviter absolument toute mise à jour partielle partial upgrades. Autrement dit ne jamais utiliser la commande pacman -Sy; mais, à la place, toujours pacman -Syu.
  • Éviter l'option --force de pacman, en particulier dans des commandes globales, affectant plus d'un paquet, comme pacman -Syu --force . Cette option --force ignore les conflits de fichiers et peut même être cause de pertes de fichiers communs (partagés) à plusieurs paquets! dans un système cortrectement maintenu elle ne devrait être utilisée qu'en cas de recommandation explicite des développeurs d'Arch. (voir #Read before upgrading the system).
Note : la version 5.1 de pacman introduit à la place l'option --overwrite plus sécurisante car plus précise sur la cible
  • É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.

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 à niveau d'un seul paquet pourrait également mettre à niveau 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 bump soname "heurt de nom.so._" Wiki: soname.

Si un scénario de mise à jour partielle a été créé, et que les binaires sont 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.

Réparer un système cassé =

Si vous avez quand même effectué une mise à niveau partielle, et que le système est cassé au point que vous ne puissiez plus exécuter pacman, Démarrer à l'aide d'une ISO Arch mensuelle à partir d'une clé USB, d'un disque optique ou d'un réseau avec PXE. (Ne suivez pas le reste du guide d'installation.)

Montez votre système de fichiers racine :

[ISO] # mount /dev/rootFilesystemDevice /mnt

Montez toutes les autres partitions que vous avez créées séparément, en ajoutant le préfixe à chacune d'elles, c'est-à-dire :

[ISO] # mount /dev/bootDevice /mnt/boot

Essayez d'utiliser le "pacman" de votre système :

[ISO] # arch-chroot /mnt
# pacman -Syu

Si cela échoue, quittez le "chroot" et essayez :

[ISO] # pacman -Syu --sysroot /mnt

Si cela échoue, essayez :

[ISO] # pacman -Syu --root /mnt

Actions sur alerte lors d'une mise à jour

Lors d'une mise à jour-système, soyez attentif aux 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.

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-git 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 IRC, 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 en dépendances mais n'étant plus utiles à 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 installation reason. Par ailleurs, sans utilité il 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 par pacman -Qm. Mais notez que cette liste comprendra aussi les paquets installés manuellement, par exemple depuis AUR.

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 Identifier les fichiers non requis par 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 boques 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 unofficial user repository. 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 AUR helpers 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/Tips and tricks#Maintenance pour quelques commandes utiles.

Mettre à jour de la liste des miroirs

La liste est dans le fichier /etc/pacman.d/mirrorlist, 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 {ic|.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

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.

À voir aussi

Category: System administration