La commande dmesg est utilisée pour afficher les messages liés au noyau sur les systèmes UNIX. Elle signifie display message ou display driver. La commande dmesg récupère ses données en lisant le tampon d’anneau de noyau. Tout en faisant du dépannage sur les systèmes Linux, la commande dmesg devient très pratique, elle peut nous aider à identifier les erreurs et les avertissements liés au matériel, en dehors de cela, il peut imprimer des messages liés au service Linux sur votre écran.
Dans ce tutoriel, je vous montre 10 utilisations de la commande dmesg avec des exemples et syntaxes pour les administrateurs ou geeks Linux.
La syntaxe de la commande dmesg
L’utilisation et syntaxe :
dmesg [options]
Voici la liste des options de la commande dmesg :
OPTIONS | DESCRIPTION |
-C, –clear | Vider le tampon circulaire du noyau |
-c, –read-clear | Lire et effacer tous les messages |
-D, –console-off | Désactiver l’affichage des messages en console |
-E, –console-on | Activer l’affichage des messages en console |
-F, –file | Utiliser le fichier à la place du tampon de journal du noyau |
-f, –facility | Restreindre la sortie aux services indiqués |
-H, –human | Sortie lisible |
-k, –kernel | Afficher les messages du noyau |
-L, –color[=] | Messages en couleur (auto, always ou never) les couleurs sont activées par défaut |
-l, –level | Restreindre la sortie aux niveaux indiqués |
-n, –console-level | Configurer niveau des messages affichés en console |
-P, –nopager | Ne pas renvoyer la sortie dans un visualiseur |
-p, –force-prefix | Force timestamp output on each line of multi-line messages |
-r, –raw | Afficher le tampon de message brut |
-S, –syslog | Forcer l’utilisation de syslog(2) à la place de /dev/kmsg |
-s, –buffer-size | Taille du tampon pour demander le tampon circulaire du noyau |
-u, –userspace | Afficher les messages en espace utilisateur |
-w, –follow | Attendre les nouveaux messages |
-x, –decode | Décoder le service et le niveau en chaînes lisibles |
-d, –show-delta | Montrer la diff. de temps entre messages affichés |
-e, –reltime | Montrer la date locale et la différence de temps en format lisible |
-T, –ctime | affiche l’horodatage lisible par l’utilisateur (peut-être inexacte!) |
-t, –notime | Ne pas afficher l’horodatage avec des messages –time-format Afficher l’horodatage au format : [delta|reltime|ctime|notime|iso] |
Comment utiliser la commande dmesg sur Linux
Affiche’ tous les messages à partir du tampon d’anneau de noyau
- Ouvrez la commande terminale et tapez :
sudo dmesg
- puis appuyez sur Entrée. Sur votre écran, vous obtiendrez tous les messages du tampon d’anneau de noyau.
La commande dmesg imprime tous les messages, mais vous ne verrez que le dernier message qui s’adapte à l’écran, si vous souhaitez effectuer l’analyse tous les journaux et les afficher en termes de pages, utilisez la commande less ou more,
sudo dmesg | less
Pour retirer l’utilisation de sudo avec dmesg, vous devez retirer les restrictions dans le kernel avec sysctl :
sudo sysctl -w kernel.dmesg_restrict=0
Rendre la sortie lisible par un humain (-H)
Utilisez l’option -H pour rendre la sortie plus lisible pour un humain.
sudo dmesg -H
- La sortie est automatiquement affichée avec less
- Les horodatages montrent un horodatage avec la date et l’heure, avec une résolution minute. Les messages qui se sont produits à chaque minute sont étiquetés avec les secondes et les nanosecondes dès le début de cette minute.
Afficher les messages liés à la RAM, au disque dur, aux disques USB et aux ports en série
Dans la sortie de la commande dmesg, nous pouvons rechercher les messages liés à la RAM, au disque dur, au lecteur USB et aux ports série.
Ces commandes ci-dessus peuvent être fusionnées en une seule commande à l’aide de plusieurs options grep (-E), les exemples sont illustrés ci-dessous,
La sortie serait quelque chose comme ci-dessous:
dmesg | grep -E "memory|dma|usb|tty"
Lire et effacer les journaux dmesg à l’aide de (-C)
Si vous souhaitez effacer les journaux dmesg après leur lecture, vous pouvez utiliser l’option -C dans la commande dmesg.
sudo dmesg -C
Forcer la sortie dmesg en couleurs
Pour forcer la sortie en couleurs dans dmesg, utilisez l’option -L :
sudo dmesg -L
Et si vous souhaitez forcer de manière permanente la couleurs, utilisez la commande suivante :
sudo dmesg --color=always
Limiter la sortie dmesg à un service de journalisation possibles
Si vous souhaitez limiter la sortie dmesg à une installation spécifique comme Daemon, utilisez l’option –facility=services dans la commande dmesg.
La sortie de la commande ci-dessus serait quelque chose comme ci-dessous :
sudo dmesg --facility=mail
Vous pouvez aussi utiliser l’option -f, par exemple :
sudo dmesg -f daemon
Pour spécifier plusieurs services, séparez les par des virgules comme par exemple :
sudo dmesg -f syslog, daemon
Voici les services de journalisation possibles :
- kern – messages du noyau
- user – messages utilisateur aléatoires
- mail – système de courrier électronique
- daemon – démons du système
- auth – message de sécurité ou autorisation
- syslog – message interne de syslogd
- lpr – message du sous-système d’impression
- news – sous-système de nouvelles réseau
Restreindre la sortie de la commande dmesg à une liste spécifique des niveaux
Voici les niveaux de journal spécifiques pris en charge par la commande dmesg :
- emerg – le système est inutilisable
- alert – les alertes du système
- crit – conditions critiques
- err – conditions d’erreur
- warn – conditions d’avertissement
- notice – condition normale mais significative
- info – information
- debug – messages du niveau de débogage
Supposons que nous voulons afficher les journaux liés à l’erreur et à l’avertissement, puis utilisez l’option –level suivie par le niveau comme err & warn, l’exemple est indiqué ci-dessous :
dmesg --level=warn,err
Rendre la lecture lisible pour un humain (-H)
Rendre l’installation et niveau lisible pour un humain (-x)
L’option -x (decode) fait que dmesg affiche l’installation et le niveau en tant que préfixes lisibles par l’homme à chaque ligne. :
sudo dmesg -x
Activer les horodatages dans les journaux dmesg
Il peut y avoir des scénarios où nous voulons activer les horodatages dans dmesg, cela peut être facilement réalisé en utilisant l’option «-T» dans la commande DMESG.
dmesg -T
Dans le cas où vous souhaitez des horodatages avec une installation de décodage et des niveaux dans la sortie de la commande dmesg, utilisez l’option «-Tx»,
dmesg -Tx
Pour rendre la sortie lisible par un humain avec les horodatages :
sudo dmesg -HTx
Surveiller les journaux dmesg en temps réel à l’aide de l’option «Suivre»
L’option -w ou –follow active le suivie ce qui va faire défiler et ajouter de nouveaux contenues dans dmesg.
C’est un bon moyen pour suivre et debugger des problèmes sur le système :
dmesg -w
Si vous souhaitez activer les horodatages le long de la surveillance en temps réel de dmesg, utilisez la commande suivante :
dmesg -Tx --follow
Afficher le tampon de messages bruts à l’aide de l’option -r
Utilisez l’option -r dans la commande dmesg pour afficher le tampon de message brut, l’exemple est affiché ci-dessous :
dmesg -r
dmesg -S
Force la commande dmesg à utiliser Syslog
Il peut y avoir des situations où nous voulons que DMESG obtienne ses données de syslog plutôt que /dev/kmsg. Cela peut être facilement réalisé en utilisant l’option -S, l’exemple est indiqué ci-dessous :
dmesg -S
Les journaux de commande DMESG sont stockés dans le fichier /var/log/dmesg.
Liens
- Quels sont les journaux Linux de /var/log/ et comment les lire
- Comment utiliser journalctl pour voir et lire les journaux Linux Systemd
- rsyslog et logrotate : gérer les logs et journaux linux
- Comment utiliser la commande dmesg sur Linux
- Comment lire les logs sur Linux en temps réel avec tail, multitail
- Daemon et Service linux : Configuration et fonctionnement
L’article Comment utiliser la commande dmesg sur Linux est apparu en premier sur malekal.com.
0 Commentaires