Comment vérifier si un paramètre du noyau est configuré 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), vous apprendrez à vérifier si un paramètre du noyau (kernel parameter) est configuré sous Linux. Nous explorerons différentes méthodes pour afficher et vérifier les paramètres du noyau, qui sont essentiels pour comprendre et gérer le comportement de votre système Linux.

Vous commencerez par lister tous les paramètres du noyau disponibles en utilisant la commande sysctl -a. Ensuite, vous apprendrez comment ces paramètres sont représentés sous forme de fichiers dans le système de fichiers virtuel /proc/sys et comment vérifier des paramètres spécifiques en utilisant la commande cat. Enfin, vous vérifierez les configurations des paramètres du noyau en examinant le fichier /etc/sysctl.conf, qui est utilisé pour les paramètres persistants.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicSystemCommandsGroup(["Basic System Commands"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicSystemCommandsGroup -.-> linux/echo("Text Display") linux/BasicSystemCommandsGroup -.-> linux/help("Command Assistance") linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") subgraph Lab Skills linux/echo -.-> lab-558867{{"Comment vérifier si un paramètre du noyau est configuré sous Linux"}} linux/help -.-> lab-558867{{"Comment vérifier si un paramètre du noyau est configuré sous Linux"}} linux/cat -.-> lab-558867{{"Comment vérifier si un paramètre du noyau est configuré sous Linux"}} end

Lister les paramètres avec sysctl -a

Dans cette étape, nous allons explorer comment afficher les paramètres du noyau (kernel parameters) en utilisant la commande sysctl. Le noyau (kernel) est le cœur du système d'exploitation Linux, gérant les ressources système et fournissant des services essentiels. Les paramètres du noyau sont des paramètres qui contrôlent le comportement du noyau.

La commande sysctl vous permet d'afficher et de modifier ces paramètres du noyau à l'exécution. Pour voir une liste complète de tous les paramètres du noyau disponibles, vous pouvez utiliser l'option -a.

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

Tapez la commande suivante et appuyez sur Entrée :

sysctl -a

Cette commande affichera une longue liste de paramètres, chacun représentant un paramètre spécifique du noyau. Le format de sortie est généralement nom_du_paramètre = valeur.

Par exemple, vous pourriez voir des lignes telles que :

kernel.hostname = votre-nom-d'hôte
kernel.ostype = Linux
kernel.osrelease = 5.15.0-*-generic
net.ipv4.ip_forward = 0
vm.swappiness = 60

Ne vous inquiétez pas pour comprendre chaque paramètre immédiatement. L'objectif est de voir le grand nombre de paramètres que vous pouvez potentiellement inspecter et modifier.

Faire défiler cette sortie peut être écrasant. Dans l'étape suivante, nous apprendrons comment afficher des paramètres spécifiques.

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

Vérifier un paramètre spécifique dans /proc/sys

Dans l'étape précédente, nous avons vu comment sysctl -a liste tous les paramètres du noyau (kernel parameters). Ces paramètres ne sont pas seulement des paramètres abstraits ; ils sont souvent représentés sous forme de fichiers dans le répertoire /proc/sys.

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. Le sous - répertoire /proc/sys contient spécifiquement des fichiers qui correspondent aux paramètres du noyau que vous avez vus avec sysctl -a.

Regardons un paramètre spécifique, par exemple, kernel.hostname. Dans le système de fichiers /proc/sys, cela correspond au fichier /proc/sys/kernel/hostname.

Vous pouvez utiliser la commande cat pour afficher le contenu de ce fichier, qui vous montrera la valeur actuelle du paramètre kernel.hostname.

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

cat /proc/sys/kernel/hostname

Vous devriez voir le nom d'hôte (hostname) de votre environnement LabEx, qui est probablement votre-nom-d'hôte ou similaire.

votre-nom-d'hôte

Essayons un autre paramètre. Le paramètre net.ipv4.ip_forward contrôle si le système transfère les paquets IPv4. Son fichier correspondant est /proc/sys/net/ipv4/ip_forward.

Tapez la commande suivante et appuyez sur Entrée :

cat /proc/sys/net/ipv4/ip_forward

La sortie sera soit 0 (le transfert est désactivé) soit 1 (le transfert est activé).

0

Cela démontre que vous pouvez inspecter la valeur actuelle des paramètres du noyau en lisant les fichiers correspondants dans /proc/sys. Bien que vous puissiez également modifier ces paramètres en écrivant dans ces fichiers (avec les autorisations appropriées), l'utilisation de la commande sysctl est généralement la méthode préférée et plus sûre pour modifier les paramètres du noyau à l'exécution.

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

Vérifier la configuration avec cat /etc/sysctl.conf

Dans les étapes précédentes, nous avons appris à afficher les paramètres du noyau (kernel parameters) en utilisant sysctl -a et en inspectant les fichiers dans /proc/sys. Bien que ces méthodes montrent les valeurs actuelles, elles ne montrent pas nécessairement les valeurs définies au démarrage du système.

Les paramètres du noyau au niveau du système sont souvent configurés dans le fichier /etc/sysctl.conf. Ce fichier est lu lors du processus de démarrage du système, et les paramètres spécifiés à l'intérieur sont appliqués.

Voyons le contenu du fichier /etc/sysctl.conf en utilisant la commande cat pour voir si des paramètres du noyau sont configurés là - bas.

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

cat /etc/sysctl.conf

Vous verrez le contenu du fichier de configuration. Ce fichier utilise un format simple nom_du_paramètre = valeur, similaire à la sortie de sysctl -a. Les lignes commençant par # sont des commentaires et sont ignorées.

#
## /etc/sysctl.conf - Fichier de configuration pour définir les variables système
#

## Pour plus d'informations, voir sysctl.conf(5) et sysctl(8)

## Décommentez les deux lignes suivantes pour activer le transfert IPv4
#net.ipv4.ip_forward=1

## Décommentez la ligne suivante pour activer le transfert IPv6
#net.ipv6.conf.all.forwarding=1

## ... (autres configurations)

Dans cet exemple, vous pouvez voir des lignes commentées pour net.ipv4.ip_forward et net.ipv6.conf.all.forwarding. Si ces lignes étaient décommentées (en supprimant le #), ces paramètres seraient définis sur 1 (activé) au démarrage.

Le fichier /etc/sysctl.conf est le principal endroit pour apporter des modifications persistantes aux paramètres du noyau. Les modifications apportées directement via sysctl ou en écrivant dans /proc/sys sont généralement temporaires et seront perdues après un redémarrage, à moins qu'elles ne soient également ajoutées à /etc/sysctl.conf ou à un fichier dans /etc/sysctl.d/.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, nous avons appris à vérifier si un paramètre du noyau (kernel parameter) est configuré sous Linux. Nous avons commencé par explorer la commande sysctl -a pour lister tous les paramètres du noyau disponibles, en comprenant que ces paramètres contrôlent le comportement du noyau. Cela nous a donné une vue d'ensemble complète des nombreux paramètres configurables.

Ensuite, nous avons découvert que ces paramètres du noyau sont souvent représentés sous forme de fichiers dans le système de fichiers virtuel /proc/sys. Cela nous permet de vérifier la valeur de paramètres spécifiques en examinant le fichier correspondant dans /proc/sys. Enfin, nous avons appris à vérifier les configurations des paramètres du noyau en inspectant le fichier /etc/sysctl.conf, qui est couramment utilisé pour définir des valeurs persistantes pour les paramètres du noyau.