En tant qu'administrateur système Linux, vous devrez parfois modifier le comportement du noyau par défaut. Par exemple, vous devrez peut-être activer la clé magique SysRq ou augmenter le nombre de connexions que le noyau acceptera. Les paramètres du noyau peuvent être définis lors de la construction du noyau, au démarrage du système ou lors de l'exécution.
Cet article explique comment utiliser le sysctl
commande pour afficher et modifier les paramètres du noyau lors de l'exécution.
Utilisation de sysctl
pour afficher les paramètres du noyau #
Pour afficher tous les paramètres actuels du noyau, appelez le sysctl
commande avec le -a
choix :
sysctl -a
Cela affichera une grande liste qui ressemble à ce qui suit où chaque ligne inclut le nom du paramètre et sa valeur :
abi.vsyscall32 = 1
debug.exception-trace = 1
debug.kprobes-optimization = 1
...
Tous les utilisateurs peuvent afficher les paramètres actuels du noyau ; seul l'utilisateur root peut modifier leurs valeurs.
Vous pouvez vérifier la valeur d'un seul paramètre en passant son nom comme argument à sysctl
. Par exemple, pour vérifier la valeur de swappines actuelle, vous saisiriez :
sysctl vm.swappiness
vm.swappiness = 60
Swappiness est une propriété du noyau Linux qui définit la fréquence à laquelle le système utilisera l'espace d'échange.
Le sysctl
la commande lit les informations de /proc/sys
annuaire. /proc/sys
est un répertoire virtuel qui contient des objets de fichier qui peuvent être utilisés pour afficher et définir les paramètres actuels du noyau.
Vous pouvez également visualiser une valeur de paramètre en affichant le contenu du fichier approprié. La seule différence est la façon dont le fichier est représenté. Par exemple, à la fois sysctl vm.swappiness
et cat /proc/sys/vm/swappiness
donnera le même résultat. Lors de l'utilisation de sysctl
les barres obliques du répertoire sont remplacées par des points et le proc.sys
partie est supposée.
Utilisation de sysctl
modifier les paramètres du noyau #
Pour définir un paramètre du noyau lors de l'exécution, exécutez le sysctl
commande suivie du nom et de la valeur du paramètre au format suivant :
sysctl -w parameter=value
Si la valeur contient un espace vide ou des caractères spéciaux, placez la valeur entre guillemets doubles. Vous pouvez également passer plusieurs parameter=value
paires dans la même commande.
Par exemple, pour activer le transfert de paquets IPv4, vous exécuterez :
sysctl -w net.ipv4.ip_forward=1
Le changement prend effet immédiatement, mais il n'est pas persistant. Après un redémarrage du système, la valeur par défaut est chargée.
Pour définir un paramètre de manière permanente, vous devrez écrire les paramètres dans /etc/sysctl.conf
ou un autre fichier de configuration dans /etc/sysctl.d
répertoire :
sysctl -w net.ipv4.ip_forward=1 >> /etc/sysctl.conf
Une autre façon de modifier les paramètres consiste à utiliser le echo
commande pour écrire les paramètres dans les fichiers dans le /proc/sys
annuaire. Par exemple, au lieu d'exécuter la commande ci-dessus, vous pouvez utiliser :
echo 1 > /proc/sys/net/ipv4/ip_forward
Le -p
permet de charger les paramètres depuis un fichier de configuration :
sysctl -p /etc/sysctl.d/file_name.conf
Quand aucun fichier n'est donné, sysctl
lit le /etc/sysctl.conf
fichier.
Conclusion #
Le sysctl
La commande vous permet d'afficher et de modifier les paramètres du noyau Linux.
N'hésitez pas à laisser un commentaire si vous avez des questions.