Comment vérifier si une option de compilation spécifique du noyau est activée sous Linux

LinuxLinuxBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous apprendrez à déterminer si une option de compilation spécifique du noyau est activée sur votre système Linux. Nous allons explorer trois méthodes courantes pour y parvenir.

Tout d'abord, vous utiliserez la commande zcat pour inspecter le fichier de configuration compressé du noyau situé à l'emplacement /proc/config.gz, qui contient les options utilisées lors de la compilation du noyau. Ensuite, vous apprendrez à vérifier ces options en examinant les fichiers de configuration situés dans le répertoire /boot. Enfin, vous découvrirez comment inspecter les journaux de compilation du noyau à l'aide de la commande dmesg pour obtenir des informations supplémentaires sur les fonctionnalités activées. À la fin de ce laboratoire, vous disposerez des compétences nécessaires pour vérifier efficacement les options de compilation du noyau sur votre système Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/CompressionandArchivingGroup(["Compression and Archiving"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/less("File Paging") linux/TextProcessingGroup -.-> linux/grep("Pattern Searching") linux/CompressionandArchivingGroup -.-> linux/gzip("Gzip") subgraph Lab Skills linux/ls -.-> lab-558758{{"Comment vérifier si une option de compilation spécifique du noyau est activée sous Linux"}} linux/cat -.-> lab-558758{{"Comment vérifier si une option de compilation spécifique du noyau est activée sous Linux"}} linux/less -.-> lab-558758{{"Comment vérifier si une option de compilation spécifique du noyau est activée sous Linux"}} linux/grep -.-> lab-558758{{"Comment vérifier si une option de compilation spécifique du noyau est activée sous Linux"}} linux/gzip -.-> lab-558758{{"Comment vérifier si une option de compilation spécifique du noyau est activée sous Linux"}} end

Vérifier les options de compilation avec zcat /proc/config.gz

Dans cette étape, vous apprendrez à inspecter les options de configuration du noyau utilisées lors de la compilation de votre noyau Linux. Ces informations sont stockées dans un fichier compressé au sein du système de fichiers /proc.

Le système de fichiers /proc est un système de fichiers virtuel qui fournit des informations sur les processus et d'autres informations système. Il ne contient pas de vrais fichiers sur le disque, mais offre plutôt une vue sur les structures de données internes du noyau.

Le fichier qui nous intéresse est /proc/config.gz. Ce fichier contient les options de configuration du noyau au format compressé. Pour afficher son contenu, nous devons utiliser une commande capable de décompresser et d'afficher le fichier.

La commande zcat est parfaite pour cela. Elle est utilisée pour décompresser et afficher le contenu de fichiers compressés au format gzip.

Ouvrez votre terminal s'il n'est pas déjà ouvert. Vous pouvez trouver l'icône Xfce Terminal sur le côté gauche de votre bureau.

Maintenant, tapez la commande suivante et appuyez sur Entrée :

zcat /proc/config.gz

Cette commande décompressera le fichier /proc/config.gz et affichera son contenu dans votre terminal. Vous verrez une longue liste d'options de configuration, chacune commençant par CONFIG_. Ces options déterminent quelles fonctionnalités et pilotes sont inclus dans votre noyau.

Par exemple, vous pourriez voir des lignes telles que :

CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_UNIX=y
## CONFIG_NET_KEY is not set
CONFIG_INET=y
  • CONFIG_NET=y signifie que la prise en charge du réseau est activée.
  • CONFIG_NET_KEY is not set signifie qu'une fonctionnalité réseau spécifique n'est pas incluse.

Parcourir cette sortie peut être écrasant. Vous pouvez utiliser la commande less pour afficher la sortie page par page. Pour ce faire, nous utiliserons un tuyau (|). Le tuyau envoie la sortie d'une commande en tant qu'entrée à une autre commande.

Tapez la commande suivante et appuyez sur Entrée :

zcat /proc/config.gz | less

Maintenant, vous pouvez utiliser les touches fléchées pour faire défiler vers le haut et vers le bas, et appuyer sur q pour quitter less.

Cette commande est très utile pour comprendre exactement comment votre noyau a été construit et quelles capacités il possède.

Cliquez sur Continuer pour passer à l'étape suivante.

Vérifier les options dans /boot/config-*

Dans l'étape précédente, vous avez consulté la configuration du noyau à partir de /proc/config.gz. Un autre emplacement où les fichiers de configuration du noyau sont souvent stockés est le répertoire /boot.

Le répertoire /boot contient les fichiers nécessaires pour démarrer le système d'exploitation, y compris le noyau lui - même et souvent le fichier de configuration utilisé pour le construire.

Le fichier de configuration dans /boot est généralement nommé config- suivi de la version du noyau. Étant donné que la version du noyau peut varier, nous pouvons utiliser un joker (*) pour correspondre au nom de fichier.

Tout d'abord, listons les fichiers dans le répertoire /boot pour voir s'il y a un fichier de configuration. Utilisez la commande ls :

ls /boot/

Vous devriez voir une liste de fichiers, y compris un qui commence par config- et est suivi d'un numéro de version (par exemple, config-5.15.0-105-generic).

Maintenant, affichons le contenu de ce fichier. Nous pouvons utiliser la commande cat pour afficher le contenu du fichier. N'oubliez pas de remplacer config-* par le nom de fichier réel que vous avez trouvé dans la sortie de la commande ls précédente, ou utilisez le joker. L'utilisation du joker est plus générique.

Tapez la commande suivante et appuyez sur Entrée :

cat /boot/config-*

Cela affichera les options de configuration du noyau à partir du fichier dans le répertoire /boot. Vous remarquerez que le contenu est très similaire, sinon identique, à la sortie que vous avez vue avec zcat /proc/config.gz. En effet, /proc/config.gz est souvent une copie compressée du fichier de configuration trouvé dans /boot.

Utiliser cat sur le fichier dans /boot est une autre façon d'accéder à la configuration du noyau, notamment si /proc/config.gz n'est pas disponible ou si vous souhaitez voir directement la version non compressée.

Encore une fois, vous pouvez rediriger la sortie vers less pour une visualisation plus facile :

cat /boot/config-* | less

Appuyez sur q pour quitter less.

Comprendre où trouver la configuration du noyau est important pour la résolution de problèmes et l'administration avancée du système.

Cliquez sur Continuer pour passer à l'étape suivante.

Inspecter les journaux de compilation dans dmesg

Dans les étapes précédentes, vous avez appris à afficher la configuration du noyau. Maintenant, examinons le tampon de messages du noyau, qui contient les messages produits par le noyau lors du démarrage et de l'exécution. Cela peut parfois inclure des informations liées à la compilation du noyau ou au chargement de modules.

La commande dmesg est utilisée pour examiner ou contrôler le tampon circulaire du noyau. Le tampon circulaire stocke les messages du noyau, qui sont souvent utiles pour le débogage et la compréhension des événements système.

Tapez la commande suivante dans votre terminal et appuyez sur Entrée :

dmesg

Cela affichera une grande quantité de résultats dans votre terminal. Ce sont des messages du noyau, y compris des informations sur la détection du matériel, le chargement des pilotes de périphériques et d'autres événements système survenus depuis le démarrage du système.

Pour trouver des informations liées à la version ou à la compilation du noyau, vous pouvez rediriger la sortie de dmesg vers grep. grep est un outil en ligne de commande puissant pour rechercher dans des ensembles de données texte brut les lignes qui correspondent à une expression régulière.

Recherchons les lignes contenant le mot "Linux" pour voir les informations sur la version du noyau.

dmesg | grep "Linux"

Vous devriez voir une sortie similaire à celle-ci, affichant la version du noyau :

[    0.000000] Linux version 5.15.0-105-generic (...)

Vous pouvez également rechercher d'autres mots - clés qui pourraient être liés aux modules du noyau ou aux options de compilation, bien que les journaux de compilation directs ne se trouvent généralement pas ici. dmesg concerne plus les messages du noyau en temps d'exécution.

Par exemple, vous pourriez rechercher des messages liés à un pilote ou à un sous - système spécifique si vous connaissez son nom.

Encore une fois, utiliser less avec dmesg est utile pour naviguer dans la sortie :

dmesg | less

Appuyez sur q pour quitter less.

Bien que dmesg ne montre pas directement le processus de compilation du noyau lui - même, il fournit des informations précieuses sur le noyau actuellement en cours d'exécution, y compris sa version et les modules chargés, qui sont déterminés par la configuration de compilation que vous avez vue dans les étapes précédentes.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, vous avez appris à vérifier si une option de compilation spécifique du noyau est activée sous Linux. Vous avez exploré le système de fichiers /proc, plus précisément le fichier /proc/config.gz, qui stocke les options de configuration du noyau utilisées lors de la compilation. Vous avez utilisé la commande zcat pour décompresser et afficher le contenu de ce fichier, et appris à rediriger la sortie vers less pour une visualisation plus facile. Ce processus vous permet d'inspecter les diverses options CONFIG_ et de déterminer quelles fonctionnalités et pilotes sont inclus dans le noyau en cours d'exécution.