Pour définir les valeurs lors de l'exécution, utilisez sysctl
. (Je suppose qu'on peut écrire à /proc/sys/kernel/printk
directement aussi et apparemment vous pouvez aussi utiliser dmesg -n CUR
comme décrit ici)
Afficher :
# sysctl kernel.printk
kernel.printk = 2 4 1 7
Les séparateurs dans la sortie sont des onglets simples, btw.
Régler. Ici, les séparateurs ne sont que des espaces. Fonctionne également.
# sysctl -w kernel.printk="2 4 1 7"
kernel.printk = 2 4 1 7
# sysctl kernel.printk
kernel.printk = 2 4 1 7
Voir man sysctl
- "configurer les paramètres du noyau lors de l'exécution" pour en savoir plus.
Rappel des niveaux de gravité et des quatre valeurs de kernel.printk données par Brian ci-dessus :
- CUR =niveau de gravité actuel ; seuls les messages plus importants que ce niveau sont imprimés
- DEF =niveau de gravité par défaut attribué aux messages sans niveau
- MIN =CUR minimum autorisé
- BTDEF =CUR par défaut au démarrage
Sur mon CentOS :7 4 1 7
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error x x
4 - warning x x x
5 - notice x x
6 - informational V V
7 - debug
C'est trop bruyant, je veux juste critiquer et monter (pas d'erreurs). Les messages sans étiquette doivent être considérés comme des avertissements, donc DEF est bon :
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error V V
4 - warning x
5 - notice
6 - informational
7 - debug
Réglé sur :3 4 1 3
Je vous suggère de modifier votre /etc/sysctl.conf
. Plus précisément, vous souhaitez modifier la ligne kernel.printk.
# Uncomment the following to stop low-level messages on console
kernel.printk = 3 4 1 3
Je ne sais pas quels sont les paramètres par défaut des centos, mais il semble probable que les choses soient plus détaillées que nécessaire.
Voir également la section Shorewall sur l'exploitation forestière. Vous n'avez pas besoin d'utiliser la cible LOG pour la journalisation, vous pouvez utiliser d'autres outils, ou ajuster la gravité du journal, et ajuster les choses pour contrôler où vont vos messages.
J'ai trouvé cela utile aussi. Sur les distributions basées sur RHEL, vous pouvez cat /proc/sys/kernel/printk
pour voir quels sont vos paramètres actuels.
Quatre valeurs se trouvent dans le fichier printk. Chacune de ces valeurs définit une règle différente pour traiter les messages d'erreur. La première valeur, appelée console loglevel, définit la priorité la plus basse des messages imprimés sur la console. (Notez que plus la priorité est faible, plus le numéro du niveau de journalisation est élevé.) La deuxième valeur définit le niveau de journalisation par défaut pour les messages sans niveau de journalisation explicite. La troisième valeur définit la configuration de niveau de journalisation la plus basse possible pour le niveau de journalisation de la console. La dernière valeur définit la valeur par défaut du niveau de journalisation de la console.
L'utilisation du paramètre LOGLEVEL dans /etc/sysconfig/init pour définir le niveau de journalisation de la console n'est plus prise en charge. Pour définir le niveau de journalisation de la console dans Red Hat Enterprise Linux 6, transmettez loglevel=' comme paramètre de temps de démarrage. Par exemple, loglevel=6 imprimera tous les messages inférieurs à 6 (pas égal à juste inférieur à).
Crédit à :
- RHEL 6 - E.3.9. /proc/sys/
- Linuxtopia - Niveaux de journalisation du noyau