Comment vérifier si un paramètre sysctl est défini 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 à vérifier si un paramètre sysctl spécifique est défini sous Linux. Nous allons explorer trois méthodes pour y parvenir : lister tous les paramètres du noyau à l'aide de la commande sysctl -a, examiner le fichier de configuration sysctl du système situé à l'emplacement /etc/sysctl.conf, et vérifier directement la valeur du paramètre dans le système de fichiers /proc/sys. À la fin de ce laboratoire, vous disposerez des compétences nécessaires pour inspecter et comprendre efficacement les paramètres du noyau de votre système Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux/BasicFileOperationsGroup -.-> linux/cat("File Concatenating") linux/BasicFileOperationsGroup -.-> linux/less("File Paging") subgraph Lab Skills linux/cat -.-> lab-558769{{"Comment vérifier si un paramètre sysctl est défini sous Linux"}} linux/less -.-> lab-558769{{"Comment vérifier si un paramètre sysctl est défini sous Linux"}} end

Lister les paramètres sysctl avec sysctl -a

Dans cette étape, nous allons explorer comment afficher et comprendre les paramètres du noyau à l'aide de la commande sysctl. Le noyau Linux gère de nombreux aspects du comportement du système, et ces comportements sont contrôlés par des paramètres qui peuvent être affichés et parfois modifiés à l'exécution.

La commande sysctl est utilisée pour modifier les paramètres du noyau à l'exécution. Ces paramètres se trouvent généralement dans le répertoire /proc/sys/.

Pour afficher la liste de tous les paramètres du noyau disponibles et leurs valeurs actuelles, vous pouvez utiliser la commande sysctl -a. L'option -a indique à sysctl d'afficher tous les paramètres.

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

Tapez la commande suivante et appuyez sur Entrée :

sysctl -a

Vous verrez une longue liste de résultats, similaire à ceci (le résultat exact variera en fonction du système) :

abi.vsyscall32 = 1
fs.aio-max-nr = 1048576
fs.aio-nr = 0
fs.dentry-state = 100000, 96000, 0, 0, 0
fs.dir-notify-enable = 1
fs.file-max = 9223372036854775807
fs.file-nr = 1024      0       9223372036854775807
fs.inotify.max_queued_events = 16384
fs.inotify.max_user_instances = 128
fs.inotify.max_user_watches = 524288
...

Ce résultat affiche le nom de chaque paramètre (comme fs.file-max) et sa valeur actuelle. Ces paramètres contrôlent divers aspects du noyau, tels que la mise en réseau, le comportement du système de fichiers, la gestion de la mémoire, etc.

Parcourir cette liste peut être écrasant, mais elle vous donne une vue d'ensemble complète de ce que le noyau gère. Vous pouvez utiliser la barre d'espace pour faire défiler la page par page et q pour quitter la vue si le résultat est long et affiché par un visualiseur comme less.

Pour l'instant, simplement exécuter la commande suffit pour terminer cette étape. Vous avez réussi à lister tous les paramètres du noyau.

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

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

Dans l'étape précédente, vous avez vu une longue liste de paramètres du noyau en utilisant sysctl -a. Bien que sysctl -a affiche les valeurs actuelles, ces valeurs peuvent être définies au démarrage à partir de fichiers de configuration.

L'un des principaux fichiers de configuration pour les paramètres sysctl est /etc/sysctl.conf. Ce fichier contient les paramètres qui sont appliqués lorsque le système démarre.

Voyons le contenu de ce fichier de configuration en utilisant la commande cat. La commande cat est utilisée pour afficher le contenu des fichiers.

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

cat /etc/sysctl.conf

Vous verrez le contenu du fichier /etc/sysctl.conf. Ce fichier contient souvent des lignes commentées (commençant par #) expliquant le but de différents paramètres, ainsi que des lignes qui définissent des paramètres spécifiques du noyau en utilisant le format paramètre = valeur.

Voici un exemple de ce que vous pourriez voir (le contenu exact peut varier) :

## /etc/sysctl.conf - Fichier de configuration pour définir les variables système
#
## Pour plus d'informations, voir sysctl(8) et sysctl.conf(5).

## Fichier de configuration sysctl du noyau pour Debian GNU/Linux
#
## Pour les valeurs binaires, 0 désactive, 1 active. Voir sysctl(8) pour plus de détails.

## Décommentez ceci pour activer la mise en veille logicielle
#kernel.suspend_state = 1

## Décommentez ceci pour activer le transfert IPv4
#net.ipv4.ip_forward = 1

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

## Décommentez ceci pour activer la protection TCP SYN Cookie
## Cela protège contre les attaques de type SYN flood
#net.ipv4.tcp_syncookies = 1

## Augmentez le nombre maximal de fichiers ouverts pour le système
#fs.file-max = 100000

## Augmentez le nombre maximal de connexions TCP
#net.ipv4.tcp_max_syn_backlog = 2048
#net.ipv4.tcp_max_tw_buckets = 4096

Les lignes non commentées (ne commençant pas par #) sont des paramètres actifs qui seront appliqués. Par exemple, une ligne comme net.ipv4.ip_forward = 1 activerait le transfert IP.

La visualisation de ce fichier vous aide à comprendre quels paramètres du noyau sont explicitement définis lors du démarrage du système.

Vous avez réussi à visualiser le contenu du principal fichier de configuration sysctl.

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

Vérifier les paramètres dans /proc/sys

Dans les étapes précédentes, vous avez utilisé sysctl -a pour lister les paramètres du noyau et cat /etc/sysctl.conf pour afficher le fichier de configuration. Maintenant, voyons où ces paramètres sont réellement représentés dans le système de fichiers.

Les paramètres du noyau gérés par sysctl sont accessibles via un système de fichiers virtuel spécial situé dans /proc/sys. Ce système de fichiers ne stocke pas de vrais fichiers sur le disque ; il fournit plutôt une interface vers les structures de données du noyau.

La structure du répertoire /proc/sys reflète la hiérarchie des noms des paramètres sysctl. Par exemple, le paramètre net.ipv4.ip_forward correspond au fichier /proc/sys/net/ipv4/ip_forward.

Utilisons de nouveau la commande cat pour afficher directement la valeur d'un paramètre spécifique dans le système de fichiers /proc/sys. Nous allons regarder le paramètre kernel.hostname, qui indique le nom d'hôte du système.

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 du système, qui est probablement labex dans cet environnement :

labex

Maintenant, regardons un autre exemple, le paramètre fs.file-max que nous avons vu dans la sortie de sysctl -a.

Tapez la commande suivante et appuyez sur Entrée :

cat /proc/sys/fs/file-max

Vous verrez le nombre maximal actuel de fichiers ouverts autorisé sur le système :

9223372036854775807

Cela démontre que les valeurs que vous voyez avec sysctl -a sont directement accessibles et lisibles à partir des fichiers dans le répertoire /proc/sys. Vous pouvez utiliser des commandes standard de manipulation de fichiers comme cat pour lire leurs valeurs.

Comprendre le système de fichiers /proc/sys est essentiel pour travailler avec les paramètres du noyau, car c'est le mécanisme sous-jacent avec lequel sysctl interagit.

Vous avez réussi à vérifier les paramètres du noyau en affichant les fichiers correspondants dans /proc/sys.

Cliquez sur Continuer pour terminer ce laboratoire.

Résumé

Dans ce laboratoire, nous avons appris à vérifier si un paramètre sysctl est défini sous Linux. Nous avons commencé par utiliser la commande sysctl -a pour lister tous les paramètres du noyau disponibles et leurs valeurs actuelles, offrant ainsi une vue complète de la configuration d'exécution du noyau.

Ensuite, nous avons exploré comment vérifier la configuration persistante de sysctl en examinant le fichier /etc/sysctl.conf à l'aide de la commande cat. Enfin, nous avons appris à vérifier la valeur actuelle d'un paramètre spécifique en inspectant directement le fichier correspondant dans le répertoire /proc/sys. Ces étapes offrent plusieurs méthodes pour comprendre et confirmer l'état des paramètres du noyau.