Les systèmes d'exploitation Linux offrent des centaines de commandes qui ont été développées pour offrir les meilleures facilités d'administration aux utilisateurs, que ce soit au niveau matériel, logiciel, services ou processus, où chaque commande remplit une fonction spéciale et peut ou non afficher de meilleurs résultats. . Nous connaissons la fiabilité et l'intégrité des distributions Linux, mais comme tout système d'exploitation ou application, il peut arriver un moment où certains de ses composants échouent et au lieu de perdre du temps à chercher des milliers de causes, nous pouvons utiliser une commande qui simplifiera cela processus et est la commande dmesg.
Solvetic fera une analyse complète de ce qu'est dmesg et de son actualité sous Linux et nous réaliserons ainsi qu'il devient un excellent outil d'aide pour toutes les tâches de support.
Qu'est-ce que dmesgLa commande dmesg est utilisée pour écrire des messages du noyau sur Linux et d'autres systèmes d'exploitation de type Unix sur une sortie standard d'une manière beaucoup plus organisée. N'oubliez pas que le noyau est le noyau du système d'exploitation, c'est là que le système d'exploitation est chargé en mémoire au moment du démarrage de l'ordinateur et le noyau est capable de contrôler presque tout dans le système. Grâce à ce processus, de nombreux messages sont générés par le noyau qui apparaissent sur l'écran d'affichage lors du processus de démarrage.
La commande dmesg obtient les données en lisant le tampon en anneau du noyau. Fondamentalement, un tampon est une partie de la mémoire de l'ordinateur qui est réservée comme emplacement temporaire pour les données envoyées ou reçues d'un périphérique externe, tel qu'un disque dur, un clavier, etc., tandis qu'un tampon en anneau est un tampon de taille fixe dans lequel toute nouvelle donnée ajoutée écrasera les données les plus anciennes qui y sont stockées. dmesg est utilisé pour examiner ou contrôler le tampon en anneau du noyau et l'action par défaut est d'afficher tous les messages du tampon en anneau du noyau.
Les messages générés par le noyau sont une partie fondamentale des tâches de diagnostic car, en cas de panne de l'appareil, nous aurons à portée de main un résumé de ce qui s'est passé et prendrons ainsi les mesures d'assistance nécessaires. Lors de la connexion ou de la déconnexion d'un périphérique matériel dans le système, grâce à la commande dmesg, il sera possible de connaître les informations détectées ou déconnectées en temps réel et surtout, la commande dmesg est disponible dans la plupart des systèmes d'exploitation basés sur Linux et Unix .
1. Utiliser la commande dmesg sous Linux
Étape 1
L'utilisation de base de cette commande est de l'exécuter sans paramètres :
DmesgÉtape 2
Cela entraînera l'affichage de tous les messages du noyau :
AGRANDIR
Étape 3
En raison de toutes les informations affichées, il est difficile d'y effectuer des tâches d'administration. Nous pouvons utiliser le paramètre "-H" pour indiquer à dmesg que la sortie est lisible pour les utilisateurs, ce qui simplifiera les tâches de support. Nous y trouvons des détails beaucoup plus clairs sur l'anneau du noyau.
dmesg -H
AGRANDIR
Étape 4
Une autre alternative pour effectuer une analyse avec dmesg est avec le paramètre "-w", qui nous permet d'écrire un script pour analyser le résultat à l'aide d'une expression régulière afin de filtrer les événements pour une analyse ultérieure :
dmesg -w
AGRANDIR
Étape 5
On voit que les résultats sont généralement abondants, il est possible de limiter la sortie uniquement aux erreurs et avertissements afin de ne pas analyser tout ce qui se passe dans le système en interne et pour cela la commande dmesg a huit niveaux à utiliser, dont chacun peuvent être combinés afin d'effectuer une recherche beaucoup plus complète et spécifique, ces niveaux sont :
a émergéLe système ne peut pas être utilisé
alerteVous devez agir immédiatement.
critiqueConditions critiques.
se tromperConditions d'erreur.
prévenirConditions d'avertissement.
avisCondition normale, mais avec des pannes possibles.
Infoinformation.
déboguerMessages de débogage.
Étape 6
Nous pouvons utiliser différents types de niveaux, par exemple, nous pouvons exécuter ce qui suit :
dmesg --level = alerte, info
AGRANDIR
Étape 7
Les résultats dépendent de l'état du noyau :
dmesg --level = err, avertir
AGRANDIR
2. Afficher les horodatages et les détails avec la commande dmesg
Étape 1
En utilisant dmesg, il sera possible de savoir en détail à quel moment une erreur ou un avertissement s'est produit grâce au paramètre -T, nous pouvons l'exécuter comme suit :
dmesg --level = err, avertir -T
AGRANDIR
Étape 2
Là, nous voyons les détails de l'heure et de la date de l'événement. Nous pouvons spécifier un périphérique spécifique pour afficher les résultats générés par dmesg, pour cela nous spécifions le nom du périphérique comme suit :
dmesg | grep -i enp0s3
AGRANDIR
Étape 3
Si nous voulons limiter la sortie de dmesg uniquement aux messages de l'espace utilisateur, nous allons utiliser l'option "-u":
dmesg -u
AGRANDIR
Étape 4
Nous pouvons utiliser des outils de manipulation de texte, tels que more (more) ou les (less) avec 'grep' avec la commande dmesg, la raison en est que la sortie de l'enregistrement dmesg ne tient pas sur une seule page, nous pouvons utilisez l'une des options suivantes :
dmesg | plus dmesg | moins
AGRANDIR
Étape 5
Si nous voulons découvrir quels disques durs le noyau a détectés, il est possible de rechercher le mot-clé "sda" avec "grep" pour afficher ce résultat comme ceci :
dmesg | grep sda
AGRANDIR
Étape 6
Nous pouvons utiliser le paramètre "head" avec dmesg afin d'afficher le nombre de lignes de départ souhaitées, pour afficher uniquement les 15 premières lignes que nous exécutons :
dmesg | tête -15
AGRANDIR
Étape 7
De la même manière, si on veut n'afficher que les 15 dernières lignes on exécute :
dmesg | queue -15Étape 8
Pour rechercher un appareil ou un mot particulier, il sera possible de filtrer les lignes avec des chaînes spécifiques, où l'option -je indique à la commande grep d'ignorer la casse (lettres majuscules ou minuscules) :
dmesg | grep -i usb dmesg | grep -i dma dmesg | grep -i tty dmesg | grep -i mémoire
AGRANDIR
Étape 9
Pour effacer le tampon d'événements dmesg, nous exécutons :
dmesg -cDe cette façon, nous avons vu à quel point dmesg est un utilitaire précieux pour gérer tout ce qui se passe avec le noyau et ses composants en temps réel et pour effectuer une tâche administrative beaucoup plus complète.