Vérifier les détails de la contamination (taint) dans dmesg
Dans l'étape précédente, nous avons vérifié l'état de contamination (taint status) du noyau en utilisant /proc/sys/kernel/tainted
. Bien que ce fichier nous donne un code numérique indiquant si le noyau est contaminé, il ne nous dit pas pourquoi il est contaminé. Pour obtenir des informations plus détaillées sur les messages du noyau, y compris les raisons de la contamination, nous pouvons utiliser la commande dmesg
.
La commande dmesg
est utilisée pour examiner le tampon circulaire (ring buffer) du noyau. Ce tampon stocke les messages du noyau, y compris les informations sur les pilotes de périphériques, les erreurs et les avertissements. Lorsque le noyau devient contaminé, un message est généralement enregistré dans le tampon circulaire expliquant la raison.
Ouvrez votre terminal s'il n'est pas déjà ouvert.
Maintenant, tapez la commande suivante et appuyez sur Entrée :
dmesg
Cette commande affichera potentiellement une grande quantité de texte, montrant tous les messages du noyau depuis le démarrage du système.
Pour trouver des informations spécifiques liées à la contamination, nous pouvons combiner dmesg
avec la commande grep
. grep
est un outil puissant pour rechercher des motifs de texte. Nous allons rechercher les lignes contenant le mot "taint".
Tapez la commande suivante et appuyez sur Entrée :
dmesg | grep taint
Le symbole |
s'appelle un tuyau (pipe). Il prend la sortie de la commande de gauche (dmesg
) et l'envoie en tant qu'entrée à la commande de droite (grep
). Ainsi, cette commande récupère d'abord tous les messages du noyau, puis les filtre pour n'afficher que les lignes contenant le mot "taint".
Si votre noyau n'est pas contaminé (comme prévu dans cet environnement), cette commande peut ne produire aucun résultat. C'est normal et indique qu'aucun événement de contamination n'a été enregistré.
Si le noyau était contaminé, vous verriez des lignes similaires à celles-ci (le message exact dépend de la raison de la contamination) :
[ ... ] kernel: Linux version ... (tainted: G)
[ ... ] kernel: Disabling lock debugging due to kernel taint
La partie (tainted: G)
indique que le noyau est contaminé, et la lettre G
signifie plus précisément qu'un module propriétaire a été chargé. D'autres lettres indiquent différentes raisons de contamination (par exemple, P
pour un module propriétaire, F
pour un chargement forcé de module, R
pour un module sous licence restreinte, etc.).
L'utilisation de dmesg | grep taint
est une étape cruciale pour diagnostiquer les problèmes liés au noyau lorsque /proc/sys/kernel/tainted
affiche une valeur non nulle.
Cliquez sur Continuer pour passer à l'étape suivante.