Important :

Le présent wiki a été migré vers wiki.archlinux.org.

Ce Wiki a été archivé. Toute contribution doit donc désormais se faire là-bas. Cette page de Wiki possède donc potentiellement des informations qui ne sont plus à jour !

Accueil wiki FR sur .org

Améliorer la stabilité d'Arch Linux

De ArchwikiFR
Révision datée du 10 février 2021 à 16:36 par Nophke (discussion | contributions) (partition {{filename|/var}} et anciens paquets : typo)


Attention : Le contenu de cette page est principalement un doublon des informations déjà présentes dans la page Maintenance Système.

Merci de ne plus apporter de correction à la présente page, et de se reporter vers la page Maintenance Système.

Certaines informations de cette page sont obsolètes, néanmoins celle-ci reste bien écrite et moins austère que Maintenance Système

L'objectif de cet article est de donner des conseils en vue d'obtenir un système sous Arch aussi stable que possible. Bien que les développeurs et les utilisateurs de confiance (NdT Trusted users) travaillent à produire des paquets de haute qualité, étant donné le système de publications rapides et permanent d'Arch, Arch Linux peut ne pas être approprié pour un système ayant une mission critique ou pour un environnement de production commercial.

Cependant, Arch est intrinsèquement stable en raison de son engagement en faveur de la simplicité dans la configuration, couplé à un cycle rapide rapport de problème/résolution ainsi qu'à l'utilisation de code source en amont non modifié (Arch applique très peu de correctifs). Ainsi, en suivant les conseils suivants sur le paramétrage et la maintenance d'Arch, l'utilisateur doit être capable de jouir d'un système très stable. De plus, des conseils qui permettront de réparer le système en cas de dysfonctionnements majeurs sont fournis.

Jusqu'à quel point Archlinux peut-il être stable ? Il y a de nombreux témoignages sur les forums d'Arch Linux d'administrateurs systèmes expérimentés ayant réussi à utiliser Arch Linux sur des serveurs en production. Archlinux.org est un de ces exemples. Sur une machine de bureau (NdT: Desktop), une installation proprement configurée et maintenue offre une excellente stabilité.

Lors de l'installation et de la configuration d'Arch Linux, l'utilisateur a plusieurs choix à faire concernant la configuration, les logiciels ou les pilotes. Ces choix impacteront la stabilité globale du système.

Partition /var et Anciens paquets

Lorsque vous paramétrez les partitions lors de l'installation, prévoyez toujours assez d'espace disque pour le dossier /var/cache/pacman/pkg}.

Pacman archive tous les paquets précédemment installés dans ce dossier, ce qui nécessite une certaine quantité d'espace de stockage. Conserver ces paquets est utile dans le cas où un paquet récemment mis à jour entraîne une instabilité et nécessite de revenir à sa version précédente.

Dans le cas ou vous souhaitez une partition /var séparée, celle-ci devrait avoir 6 à 8 Go d'espace dédié à pacman pour ne pas avoir à vider le cache trop souvent (pacman -Sc). Ceci n'est donc pas à négliger dans le cas de serveurs.

Soyez prudent avec les paquets non officiels et moins testés

Évitez l'utilisation du dépôt testing ou de paquets individuels provenant de testing. Ces paquets expérimentaux sont destinés au développement et aux tests, pas à un système stable.

Utilisez avec précaution les paquets provenant de AUR. La plupart de ces paquets sont fournis par les utilisateurs et peuvent ne pas répondre aux mêmes standards d'empaquetage que ceux des dépôts officiels. Vérifiez toujours le PKGBUILD des paquets d'AUR pour y rechercher la présence éventuelle de code malicieux ou d'erreurs avant de les construire et de les installer.

Soyez prudent avec les assistants AUR qui simplifient l'installation de paquets AUR et peuvent conduire à la construction et à l'installation de paquets mal conçus ou malicieux. Vous devez toujours vérifier la validité des PKGBUILDs avant de construire ou d'installer ces paquets.

Enfin, il est fortement déconseillé d'utiliser un assistant AUR, ou la commande makepkg en tant qu'administrateur (root).

N'utilisez des dépôts tiers qu'en cas de nécessité absolue et si vous savez ce que vous faites. En tout état de cause, n'utilisez que les dépôts fournis par une source de confiance.

Utilisez des miroirs à jour

Utilisez des miroirs qui sont mis fréquemment à jour avec les derniers paquets du serveur FTP principal d'Arch. Consultez la page de statut des mirroirs pour vérifier que le miroir que vous avez choisi est à jour. En utilisant des miroirs récemment synchronisés, vous êtes sûr de toujours avoir les paquets les plus récents et une disponibilité des bases de données de paquets pendant l'entretien de routine.

Si nécessaire, éditez votre liste de miroirs dans /etc/pacman.d en y plaçant les miroirs locaux, ceux de votre pays ou de votre région en haut de la liste. Reportez-vous à la page Miroirs pour plus de détails. Ces étapes vous assureront d'avoir les dépôts les rapides et les plus sûrs.

Après avoir changé les serveurs utilisés pour les mises à jour, assurez-vous que le système est à jour en lançant la commande pacman -Syu.

Utilisez le gestionnaire de paquets pour installer les logiciels

Le gestionnaire de paquet (dans Arch: pacman) fait un meilleur travail que vous pour garder la trace des fichiers. Si vous installez manuellement certaines choses, vous oublierez tôt ou tard ce que vous aviez fait, où vous l'aviez installé, les conflits, etc..

D'un point de vue stabilité, vous devez essayer d'éviter les paquets non-supportés et les logiciels personnalisés, mais si vous en avez réellement besoin, fabriquer un paquet est préférable à une compilation et une installation manuelles.

Vous devriez aussi désactiver la commande make install (qui est typiquement le début de tous les problèmes) dans /root/.bashrc en rajoutant:

 make() {
   [ "$1" == 'install' ] &&
     echo -e "WARNING:\nDON'T INSTALL SOFTWARE MANUALY\nDON'T USE unset make TO OVERRIDE" &&
     echo "Tip: It's easy to make own custom package see: man PKGBUILD makepkg" &&
     return 1;
   /usr/bin/make $@;
 }

Utilisez des paquets courants et éprouvés

Installez des logiciels matures, éprouvés et courants tout en évitant les logiciels avant-gardistes qui sont encore buggués. Essayez d'éviter d'installer les «points-zéro», i.e. les versions x.y.0. Par exemple, au lieu d'installer toto 2.5.0, attendez que 2.5.1 soit disponible. Ne déployez pas des logiciels nouvellement développés tant qu'il n'est pas prouvé qu'ils sont fiables. Ainsi, les premières versions de PulseAudio pouvaient ne pas être fiables : les utilisateurs intéressés dans un maximum de stabilité préférant utiliser ALSA à la place. Enfin, utilisez des logiciels qui possèdent une communauté de développement forte et active.

Choisissez des pilotes libres

Autant que possible, choisissez des pilotes libres. Essayez d'éviter les pilotes propriétaires. La plupart du temps, les pilotes libres sont plus stables et plus fiables. Les bugs des pilotes libres sont réparés plus rapidement et plus facilement. Bien que les pilotes propriétaires puissent offrir plus de fonctionnalités, ceci peut se faire au détriment de la stabilité. Pour éviter ce dilemme, choisissez des composants matériels connus pour avoir un pilote libre mature avec toutes les fonctionnalités. Des informations à propos du matériel possédant des pilotes libres pour Linux est disponible sur linux-drivers.org.

Mettez à jour votre système à une fréquence raisonnable

De nombreux utilisateurs d'Arch mettent à jour fréquemment, jusqu'à mettre à jour leurs systèmes quotidiennement avec la commande pacman -Syu. Alors que mettre à jour aussi souvent n'est pas nécessaire, on doit mettre à jour suffisamment souvent pour profiter des dernières corrections et des mises à jours de sécurité. La mise à jour hebdomadaire ou tous les 15 jours est une bonne idée.

Si le système possède des paquets depuis AUR, mettez les à jour en utilisant un assistant AUR.

N'automatisez pas à outrance

Sous Arch, les tâches de maintenance vous reviennent: aucune mise à jour ou configuration n'est automatique, à vous d'en déterminer le rythme et la nature. Il peut-être tentant d'automatiser ces tâches, mais faites-le avec parcimonie: préparer automatiquement la mise à jour à un horaire donné en téléchargeant simplement les paquets via une tâche cron mais faites la mise à jour effective par vous-même pour toujours voir ce qu'il se passe.

Lisez avant de mettre à jour

Avant de mettre à jour Arch, lisez toujours les dernières nouvelles pour voir s'il y a des changements majeurs dans les logiciels ou les configurations avec les derniers paquets. Avant de mettre à jour un logiciel fondamental, tel que le noyau, le serveur X ou glibc, regarder dans le forum approprié (y compris le forum anglophone si vous pouvez) pour voir si des problèmes ont été rapportés.

En mettant à jour le système, faites attention aux messages fournis par pacman. Si des actions supplémentaires de la part de l'utilisateur sont nécessaires, faites en sorte de les prendre en considération. Si une alerte de pacman n'est pas claire, recherchez sur les forums et sur les messages de récentes nouvelles pour plus de détails.

Traitez rapidement les fichiers .pacnew, .pacsave, et .pacorig

Lorsque pacman vous informe de tels fichiers, ne les laissez pas traîner. Voir Gestion_des_fichiers_de_configurations.


Rétrograder un paquet causant une instabilité

Dans le cas où la mise à jour d'un paquet particulier entraîne l'instabilité du système, revenez à la dernière version stable connue du paquet depuis le cache de pacman. Consultez la page rétrograder un paquet pour plus d'informations.

Une fois le paquet rétrogradé, ajoutez-le temporairement dans la section IgnorePkg de pacman.conf, tant que la difficulté avec le paquet mis à jour n'est pas résolue. Consultez le wiki d'archlinux et/ou les forums pour obtenir des conseils et remplir un rapport de bug si nécessaire.

Sauvegardez régulièrement la liste des paquets installés

À intervalle régulier, créez une liste des paquets installés et enregistrez-en une copie sur au moins un support externe tel qu'une clé USB, un disque dur externe, un CD-R... Utilisez la commande suivante pour créer la liste des paquets courants:

pacman -Qqe | grep -vx "$(pacman -Qqm)" > /path/to/chosen/directory/pkg.list

Dans le cas d'une défaillance critique nécessitant une réinstallation complete, ces paquets peuvent être réinstallés rapidement en utilisant la commande :

xargs -a /path/to/chosen/directory/pkg.list pacman -S --needed
Note : Cette liste ne prend en compte que les paquets issus des dépôts officiels. La liste des paquets issus de AUR peut-être obtenue par:
pacman -Qqme > /path/to/chosen/directory/aur.list

Elle devra être restaurée indépendamment (par un assistant AUR si vous en utilisez un).

Sauvegardez régulièrement la base de données Pacman

La commande suivante peut être utilisée pour sauvegarder la base de données locale de pacman (située dans /var/lib/pacman/local/):

tar -cjf /chemin/vers/où/sauver/pacman-database.tar.bz2 /var/lib/pacman/local

Mettez la sauvegarde de la base de données pacman sur un ou plusieurs média externe comme une clé USB, un disque dur externe ou un CD-R.

Pour restaurer la sauvegarde:

tar -xjvf /chemin/vers/sauvegarde/pacman-database.tar.bz2 -C /
Note : Pour le cas où la base de données est corrompue et qu'il n'existe pas de sauvegarde disponible, il existe quelques espoirs de reconstruire la base de données à partir de /var/log/pacman.log ! Voyez How To Restore Pacman's Local Database (en).


Sauvegardez toujours vos fichiers de configuration avant de les éditer

Avant d'éditer tout fichier de configuration, sauvegardez toujours une version fonctionnelle de ce fichier de configuration. Dans le cas où des changements dans le fichier de configuration posent problèmes, vous pourrez revenir à la version stable. Faites ceci depuis un éditeur texte en commençant par sauver le fichier sous un autre nom avant de le modifier. Vous pouvez aussi exécuter la commande suivante :

cp config config.bak
Note : L'utilisation de l'extension .bak assure la distinction entre une sauvegarde effectuée par l'administrateur et des fichiers créés par pacman (.pacnew, .pacsave, .pacorig).

Sauvegardez régulièrement les répertoires /etc, /home, /srv, et /var

Puisque les répertoires /etc, /home, /srv, et /var contiennent d'importants fichiers systèmes et de configuration, il est conseillé de garder des sauvegardes de ces répertoires faites à intervalle régulier. La suite est composée de lignes directrices à ce propos, compte tenu qu'il existe de nombreux moyens pour effectuer ce type de sauvegarde.

  • /etc: Sauvegardez les fichiers de configuration de votre système en exécutant la commande suivante en root ou via une tâche cron :
tar -cjf /chemin/vers/où/sauver/etc-backup.tar.bz2 /etc

Mettez la sauvegarde de /etc sur un ou plusieurs média externes comme une clé USB ou un disque dur externe. Occasionnellement, vérifiez l'intégrité du processus de sauvegarde en comparant la version originale et les copies.

Restaurez les fichiers corrompus de /etc en extrayant l'archive etc-backup.tar.bz2 dans un répertoire temporaire et remplacez les fichiers le nécessitant un à un. Pour restaurer tout le répertoire /etc avec tout son contenu, lancez en tant que root :

tar -xvjf /chemin/où/trouver/etc-backup.tar.bz2 -C /
  • /home: les données de vos utilisateurs.
  • /srv: essentiel pour vos serveurs.
  • /var: les données de nombre de vos applications en cours d'utilisation, le cache de pacman, etc..