Comment vérifier si une option de configuration du noyau (kernel) 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 (lab), nous allons explorer différentes méthodes pour vérifier si une option de configuration spécifique du noyau (kernel) est activée sous Linux. Nous commencerons par examiner le fichier /proc/config.gz, en utilisant zcat pour décompresser et afficher la configuration du noyau si le fichier existe. Ce fichier contient les options de configuration utilisées pour compiler le noyau actuellement en cours d'exécution.

Si le fichier /proc/config.gz n'est pas disponible, nous passerons à la vérification de la présence du fichier de configuration du noyau dans le répertoire /boot/, en particulier en recherchant les fichiers nommés config-*. Cela offre une autre manière de vérifier la configuration du noyau. Enfin, nous examinerons les journaux de configuration dans les messages du noyau (dmesg).


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/TextProcessingGroup(["Text Processing"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux(("Linux")) -.-> linux/CompressionandArchivingGroup(["Compression and Archiving"]) 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/SystemInformationandMonitoringGroup -.-> linux/uname("System Information Displaying") linux/CompressionandArchivingGroup -.-> linux/gzip("Gzip") subgraph Lab Skills linux/ls -.-> lab-558861{{"Comment vérifier si une option de configuration du noyau (kernel) est activée sous Linux"}} linux/cat -.-> lab-558861{{"Comment vérifier si une option de configuration du noyau (kernel) est activée sous Linux"}} linux/less -.-> lab-558861{{"Comment vérifier si une option de configuration du noyau (kernel) est activée sous Linux"}} linux/grep -.-> lab-558861{{"Comment vérifier si une option de configuration du noyau (kernel) est activée sous Linux"}} linux/uname -.-> lab-558861{{"Comment vérifier si une option de configuration du noyau (kernel) est activée sous Linux"}} linux/gzip -.-> lab-558861{{"Comment vérifier si une option de configuration du noyau (kernel) est activée sous Linux"}} end

Vérifier la configuration du noyau (kernel) avec zcat /proc/config.gz

Dans cette étape, nous allons explorer comment vérifier la configuration du noyau en utilisant la commande zcat et le fichier /proc/config.gz. La configuration du noyau détermine quelles fonctionnalités sont intégrées au noyau, et la comprendre peut être utile pour le débogage et la personnalisation.

Tout d'abord, comprenons ce que représente /proc/config.gz. C'est un fichier compressé au format gzip qui contient les options de configuration du noyau utilisées pour compiler le noyau actuellement en cours d'exécution. Cependant, ce fichier n'est pas toujours présent, cela dépend de la configuration de compilation du noyau.

Pour vérifier si le fichier existe, utilisez la commande suivante :

ls -l /proc/config.gz

Si le fichier existe, vous verrez une sortie similaire à celle-ci :

-r-------- 1 root root [占位符: 文件大小] [占位符: 日期] /proc/config.gz

Si le fichier n'existe pas, vous verrez un message d'erreur :

ls: cannot access '/proc/config.gz': No such file or directory

Si le fichier existe, nous pouvons utiliser zcat pour le décompresser et afficher son contenu. zcat est un utilitaire en ligne de commande qui décompresse les fichiers compressés au format gzip et affiche le résultat sur la sortie standard.

Exécutez la commande suivante pour afficher la configuration du noyau :

zcat /proc/config.gz | less

Cette commande envoie la sortie de zcat /proc/config.gz à la commande less, ce qui vous permet de parcourir le fichier de configuration.

Vous verrez une longue liste d'options de configuration, chacune précédée de CONFIG_. Par exemple :

CONFIG_POSIX_MQUEUE=y
CONFIG_FHANDLE=y
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_INTERFACE=y
CONFIG_INET=y

Appuyez sur q pour quitter less.

Si le fichier /proc/config.gz n'existe pas, vous devrez passer à l'étape suivante pour vérifier /boot/config-*.

Vérifier la configuration dans /boot/config-*

Dans cette étape, nous allons vérifier la présence du fichier de configuration du noyau (kernel) dans le répertoire /boot/. C'est un autre emplacement courant où est stockée la configuration du noyau. Le fichier est généralement nommé config-*, où * représente la version du noyau.

Tout d'abord, listons les fichiers dans le répertoire /boot/ pour voir si un fichier config-* existe. Utilisez la commande suivante :

ls -l /boot/config-*

Vous pourriez voir une sortie similaire à celle-ci :

-rw------- 1 root root [占位符: 文件大小] [占位符: 日期] /boot/config-[占位符: kernel version]

Si vous voyez un fichier config-*, cela signifie que la configuration du noyau est stockée dans ce fichier. Si vous ne voyez aucun fichier config-*, cela signifie que la configuration du noyau n'est pas stockée à l'emplacement standard dans /boot/.

Pour afficher le contenu du fichier config-*, vous pouvez utiliser la commande cat. Remplacez [占位符: kernel version] par la véritable version du noyau extraite du nom du fichier. Par exemple, si le fichier s'appelle /boot/config-5.15.0-76-generic, la commande serait :

cat /boot/config-5.15.0-76-generic | less

Cette commande envoie la sortie de cat /boot/config-[占位符: kernel version] à la commande less, ce qui vous permet de parcourir le fichier de configuration.

Vous verrez une longue liste d'options de configuration, chacune précédée de CONFIG_. Par exemple :

CONFIG_POSIX_MQUEUE=y
CONFIG_FHANDLE=y
CONFIG_XFRM=y
CONFIG_XFRM_ALGO=y
CONFIG_XFRM_USER=y
CONFIG_XFRM_INTERFACE=y
CONFIG_INET=y

Appuyez sur q pour quitter less.

Si vous avez plusieurs fichiers config-*, vous pouvez vérifier la version du noyau en utilisant la commande uname -r :

uname -r

Cela affichera la version du noyau actuellement en cours d'exécution sur votre système. Vous pouvez ensuite utiliser ces informations pour sélectionner le bon fichier config-* à afficher.

Inspecter les journaux de configuration dans dmesg

Dans cette étape, nous allons inspecter les journaux du noyau (kernel) en utilisant la commande dmesg pour trouver des informations sur la configuration du noyau. dmesg est un utilitaire en ligne de commande qui affiche le tampon de messages du noyau. Ce tampon contient des informations sur le matériel, les pilotes et d'autres événements système, y compris des détails sur la configuration du noyau au démarrage.

Pour afficher les journaux du noyau, utilisez la commande suivante :

dmesg | less

Cette commande envoie la sortie de dmesg à la commande less, ce qui vous permet de parcourir les journaux.

Les informations de configuration du noyau sont généralement affichées au début des journaux lors du processus de démarrage. Pour filtrer les journaux et trouver les messages liés à la configuration, vous pouvez utiliser la commande grep.

Essayez la commande suivante pour rechercher les lignes contenant le mot "config" :

dmesg | grep config | less

Cette commande envoie la sortie de dmesg à grep config, qui filtre les lignes contenant le mot "config", puis envoie le résultat à less pour une visualisation facile.

Vous pourriez voir une sortie similaire à celle-ci :

[占位符: 时间戳] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-[占位符: kernel version] root=UUID=[占位符: UUID] ro quiet splash  vt.handoff=7
[占位符: 时间戳]  Kernel command line: BOOT_IMAGE=/boot/vmlinuz-[占位符: kernel version] root=UUID=[占位符: UUID] ro quiet splash vt.handoff=7
[占位符: 时间戳]  DMI: QEMU Standard PC (i440FX + PIIX, 1996), BIOS [占位符: BIOS version] 04/01/2014

Vous pouvez également rechercher des options de configuration spécifiques. Par exemple, pour savoir si CONFIG_EXT4_FS est activée, utilisez la commande suivante :

dmesg | grep CONFIG_EXT4_FS

Si l'option est activée, vous verrez une ligne similaire à celle-ci :

[占位符: 时间戳]  EXT4-fs (sda1): mounted filesystem with ordered data mode. Opts: (null)

Si l'option n'est pas activée, vous ne verrez aucune sortie.

En inspectant la sortie de dmesg, vous pouvez vérifier la configuration du noyau et identifier tout problème potentiel lié à des options de configuration manquantes ou incorrectes.

Appuyez sur q pour quitter less.

Résumé

Dans ce laboratoire (lab), nous avons exploré des méthodes pour vérifier la configuration du noyau (kernel) sous Linux. Nous avons d'abord tenté d'accéder à la configuration du noyau via zcat /proc/config.gz, en apprenant que ce fichier contient les options de configuration du noyau utilisées pour compiler le noyau actuellement en cours d'exécution, mais sa présence dépend de la configuration de compilation du noyau. Nous avons utilisé ls -l pour vérifier son existence et zcat suivi de less pour afficher son contenu s'il est disponible.

Si /proc/config.gz n'a pas été trouvé, le laboratoire nous invite à passer à l'étape suivante, qui consiste à vérifier la présence du fichier de configuration du noyau dans le répertoire /boot/, généralement nommé config-*.