Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

22.2. Installer ABRT et lancer ses services

Dans le but d'utiliser ABRT, assurez-vous que le paquet abrt-desktop ou abrt-cli soit installé sur votre système. Le paquet abrt-desktop fournit une interface utilisateur graphique pour ABRT, tandis que le paquet abrt-cli contient un outil pour utiliser ABRT sur la ligne de commande. Vous pouvez également installer les deux. Les flux de travail de l'interface utilisateur graphique et de l'outil en ligne de commande ABRT sont similaires quant aux procédures et le même schéma est suivi.

Avertissement

Veuillez remarquer que l'installation des paquets ABRT remplace le fichier /proc/sys/kernel/core_pattern, qui contient un modèle utilisé pour nommer les fichiers core-dump. Le contenu de ce fichier sera remplacé sur :
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
Veuillez consulter la Section 8.2.4, « Installation de paquets » pour obtenir des informations générales sur l'installation de paquets avec le gestionnaire de paquets Yum.

22.2.1. Installer l'interface utilisateur graphique ABRT

ABRT - interface utilisateur graphique - offre une interface frontale facile à utiliser pour travailler sur un environnement de bureau. Vous pouvez installer le paquet requis en exécutant la commande suivante en tant qu'utilisateur root :
~]# yum install abrt-desktop
Lors de l'installation, la mini-application de notification ABRT est configurée pour démarrer automatiquement lorsque votre session de bureau graphique est lancée. Vous pouvez vérifier si la mini-application ABRT est en cours d'exécution en passant la commande suivante dans une fenêtre de terminal :
~]$ ps -el | grep abrt-applet
0 S   500  2036  1824  0  80   0 - 61604 poll_s ?        00:00:00 abrt-applet
Si la mini-application n'est pas en cours d'exécution, vous pouvez la lancer manuellement sur votre session de bureau en cours en exécutant le programme abrt-applet :
~]$ abrt-applet &
[1] 2261

22.2.2. Installer ABRT pour l'interface en ligne de commande

L'interface de ligne de commande est utile sur les machines sans affichage, les systèmes distants connectés par réseau, ou avec les scripts. Vous pouvez installer le paquet requis en exécutant la commande suivante en tant qu'utilisateur root :
~]# yum install abrt-cli

22.2.3. Installer les outils ABRT supplémentaires

Pour recevoir des notifications par courrier électronique sur les incidents détectés par ABRT, le paquet libreport-plugin-mailx devra être installé. Vous pouvez l'installer en exécutant la commande suivante en tant qu'utilisateur root :
~]# yum install libreport-plugin-mailx
Par défaut les notifications sont envoyées à l'utilisateur root de la machine locale. La destination du courrier électronique peut être configurée dans le fichier /etc/libreport/plugins/mailx.conf.
Pour que les notifications soient affichées dans votre console au moment de la connexion, veuillez également installer le paquet abrt-console-notification.
ABRT peut détecter analyser et rapporter divers types d'échecs de logiciels. Par défaut, ABRT est installé avec la prise en charge des types d'échecs les plus courants, tel que les échecs des applications C et C++. La prise en charge d'autres types d'échecs est fournie par des paquets indépendants. Par exemple, pour installer la prise en charge de la détection d'exceptions dans les applications écrites à l'aide de Java, veuillez exécuter la commande en tant qu'utilisateur root :
~]# yum install abrt-java-connector
Veuillez consulter Section 22.4, « Détection de problèmes logiciels » pour obtenir une liste des langages et des projets logiciels pris en charge par ABRT. La section inclut également une liste de tous les paquets correspondants qui permettent la détection des divers types d'échecs.

22.2.4. Lancer les services ABRT

Le démon abrtd est configuré pour être lancé lors du démarrage. Vous pouvez utiliser la commande suivante pour vérifier son statut actuel :
~]$ systemctl is-active abrtd.service
active
Si la commande systemctl retourne inactive (inactif) ou unknown (inconnu), alors le démon n'est pas en cours d'exécution. Vous pouvez le démarrer pour la session en cours en saisissant la commande suivante en tant qu'utilisateur root :
~]# systemctl start abrtd.service
Similairement, vous pouvez suivre les mêmes étapes pour vérifier le statut et pour démarrer les services qui gèrent les divers types d'échecs. Par exemple, assurez-vous que le service abrt-ccpp est en cours d'exécution si vous souhaitez qu'ABRT détecte les incidents C ou C++. Veuillez consulter la Section 22.4, « Détection de problèmes logiciels » pour obtenir une liste de tous les services de détection ABRT disponibles et de leurs paquets respectifs.
À l'exception des services abrt-vmcore et abrt-pstoreoops, qui sont uniquement lancés lorsqu'une panique ou un oops de noyau se produit, tous les services ABRT sont automatiquement activés et lancés au moment du démarrage lorsque leurs paquets respectifs sont installés. Vous pouvez activer ou désactiver un service ABRT en utilisant l'utilitaire systemctl comme décrit dans le Chapitre 9, Gérer les services avec systemd.

22.2.5. Tester la détection d'incidents ABRT

Pour tester si ABRT fonctionne correctement, veuillez utiliser la commande kill pour envoyer le signal SEGV pour arrêter un processus. Par exemple, lancez un processus sleep et arrêtez-le avec la commande kill de la manière suivante :
~]$ sleep 100 &
[1] 2823
~]$ kill -s SIGSEGV 2823
ABRT détecte un incident peu après avoir exécuté la commande kill, et si une session graphique est en cours d'exécution, l'utilisateur sera notifié du problème détecté par la mini-application de notification de la GUI. Dans l'environnement de ligne de commande, vous pouvez vérifier si l'incident a été détecté en exécutant la commande abrt-cli list ou en examinant le vidage du noyau créé dans le répertoire /var/tmp/abrt/. Veuillez consulter la Section 22.5, « Gestion des problèmes détectés » pour obtenir davantage d'informations sur les manières de travailler avec les incidents détectés.