OVH Cloud OVH Cloud

Sys[k]logd et klogd

13 réponses
Avatar
Vincent Ramos
Bonjour,

J'aimerais savoir l'initialisation que vous me conseillez pour ces
deux démons. Pour l'instant, ils sont chez moi lancés ainsi :
/etc/rc0.d/K20klogd -> ../init.d/klogd
/etc/rc1.d/K20klogd -> ../init.d/klogd
/etc/rc6.d/K20klogd -> ../init.d/klogd
/etc/rc2.d/S20klogd -> ../init.d/klogd
/etc/rc3.d/S20klogd -> ../init.d/klogd
/etc/rc4.d/S20klogd -> ../init.d/klogd
/etc/rc5.d/S20klogd -> ../init.d/klogd

(idem pour sysklogd), c'est-à-dire lancés des niveaux 2 à 5 et tués
aux autres niveaux.

Je me dis que ce n'est pas suffisant et qu'il faudrait qu'ils soient
démarrés avant : sinon, comment enregistrer les messages de démarrage
avant le niveau 2 ?

Ai-je raison ? Comment, sur vos machines, définissez-vous
l'initialisation de ces deux démons ? Enfin, est-ce utile de faire
tourner les deux ?

Merci.

--
<http://fr.wikipedia.org/wiki/Utilisateur:Vincent_Ramos>

10 réponses

1 2
Avatar
Nicoo
Bonjour,


bonjour,


J'aimerais savoir l'initialisation que vous me conseillez pour ces
deux démons. Pour l'instant, ils sont chez moi lancés ainsi :
/etc/rc0.d/K20klogd -> ../init.d/klogd
/etc/rc1.d/K20klogd -> ../init.d/klogd
/etc/rc6.d/K20klogd -> ../init.d/klogd
/etc/rc2.d/S20klogd -> ../init.d/klogd
/etc/rc3.d/S20klogd -> ../init.d/klogd
/etc/rc4.d/S20klogd -> ../init.d/klogd
/etc/rc5.d/S20klogd -> ../init.d/klogd

(idem pour sysklogd), c'est-à-dire lancés des niveaux 2 à 5 et tués
aux autres niveaux.

Je me dis que ce n'est pas suffisant et qu'il faudrait qu'ils soient
démarrés avant : sinon, comment enregistrer les messages de démarrage
avant le niveau 2 ?


Je ne suis pas sûr de comprendre. A savoir, les "initrunlevel" ne sont
pas lancés successivement. Ils sont préalablement choisis. En fait, cela
varie selon les distributions et configurations personnelles mais UN
seul est exécuté.


Ai-je raison ?


De quoi?

Comment, sur vos machines, définissez-vous
l'initialisation de ces deux démons ?


A vrai dire, je n'ai pas ma config sous les yeux, mais leur démarrage
doit sûrement ressembler à ça.

Enfin, est-ce utile de faire
tourner les deux ?


Les deux démons n'ont, je crois, pas tout à fait la même fonction.

Par contre, il me semble plus logique quand on a un service lancé tôt au
démarrage, de le tuer tard à l'arrêt et au reboot. J'aurais donc plus vu
un truc du genre:

/etc/rc0.d/K80klogd -> ../init.d/klogd
/etc/rc1.d/K80klogd -> ../init.d/klogd
/etc/rc6.d/K80klogd -> ../init.d/klogd

Nicolas S.

Avatar
Vincent Ramos
Nicoo a écrit dans <4267b482$0$820$ :

(idem pour sysklogd), c'est-à-dire lancés des niveaux 2 à 5 et tués
aux autres niveaux.

Je me dis que ce n'est pas suffisant et qu'il faudrait qu'ils
soient démarrés avant : sinon, comment enregistrer les messages de
démarrage avant le niveau 2 ?


Je ne suis pas sûr de comprendre. A savoir, les "initrunlevel" ne
sont pas lancés successivement. Ils sont préalablement choisis. En
fait, cela varie selon les distributions et configurations
personnelles mais UN seul est exécuté.


Tiens, cette remarque vient de corriger un truc que je n'avais
vraiment pas bien compris. Je croyais jusque là qu'on égrenait les
niveaux jusqu'à celui requis.

En fait, si j'ai bien saisi :
-- rcS.d et rc.boot sont exécutés quoi qu'il en soit au démarrage ;
-- ensuite, on saute au niveau par défaut (5 pour une connexion
graphique) ;
-- enfin, on passe à 6 puis 0 quand on déconnecte.

En fait, ce sont les niveaux 1 à 5 qui ne sont pas lancés
successivement.

Par contre, il me semble plus logique quand on a un service lancé
tôt au démarrage, de le tuer tard à l'arrêt et au reboot. J'aurais
donc plus vu un truc du genre:
/etc/rc0.d/K80klogd -> ../init.d/klogd
/etc/rc1.d/K80klogd -> ../init.d/klogd
/etc/rc6.d/K80klogd -> ../init.d/klogd


D'accord.

Ce que je me demande, maintenant, c'est si je n'aurais pas intérêt à
lancer les deux démons en question dès rcS.d.

--
<http://fr.wikipedia.org/wiki/Utilisateur:Vincent_Ramos>


Avatar
Nicoo


Tiens, cette remarque vient de corriger un truc que je n'avais
vraiment pas bien compris.


Tant mieux :-).

Je croyais jusque là qu'on égrenait les
niveaux jusqu'à celui requis.


En effet, ce n'est pas le cas.

En fait, si j'ai bien saisi :
-- rcS.d et rc.boot sont exécutés quoi qu'il en soit au démarrage ;
-- ensuite, on saute au niveau par défaut (5 pour une connexion
graphique) ;
-- enfin, on passe à 6 puis 0 quand on déconnecte.

En fait, ce sont les niveaux 1 à 5 qui ne sont pas lancés
successivement.


Comprendre le démarrage de Linux:
http://f3wm.free.fr/linux/lx_init.html


Ce que je me demande, maintenant, c'est si je n'aurais pas intérêt à
lancer les deux démons en question dès rcS.d.

Inutile: dmesg est là pour ça. dmesg: Le buffer du noyau - contient les

messages du démarrage du noyau.

Enfin, une recherche google sur 'klogd+syslogd' m'a retourné en premier
lien cette page:
http://okki666.free.fr/docmaster/articles/linux068.htm

Cordialement,
Nicolas S.

Avatar
Vincent Ramos
Nicoo a écrit dans <4267c6cd$0$850$ :

Merci pour les liens. Je suis en train de les potasser.

Inutile: dmesg est là pour ça. dmesg: Le buffer du noyau - contient
les messages du démarrage du noyau.


Justement, mon dmesg reste désespérément vide.

Avatar
Nicoo
Nicoo a écrit dans <4267c6cd$0$850$ :

Merci pour les liens. Je suis en train de les potasser.


Inutile: dmesg est là pour ça. dmesg: Le buffer du noyau - contient
les messages du démarrage du noyau.



Justement, mon dmesg reste désespérément vide.


Que se passe-t-il exactement quand vous tapez dmesg?

Nicolas S.


Avatar
Vincent Ramos
Nicoo a écrit dans <4267d142$0$1215$ :

Que se passe-t-il exactement quand vous tapez dmesg?


Je reçois comme attendu le contenu du buffer. Mais le
fichier /var/log/dmesg est toujours vide, alors que du temps où
j'utilisais Red Hat, il contenait les messages transmis lors de la
procédure de démarrage.

Je cherche en vain sur Google : trop d'articles avec « dmesg ».

Avatar
Nicoo

Je reçois comme attendu le contenu du buffer. Mais le
fichier /var/log/dmesg est toujours vide, alors que du temps où
j'utilisais Red Hat, il contenait les messages transmis lors de la
procédure de démarrage.



Il est probable dmesg soit réglé sur un niveau trop faible (ce qui
empêche l'affichage des messages).
Faites un tour dans le fichier /proc/kmsg pour en savoir un peu plus.

le niveau de dmesg se règle comme suit: # dmesg -n "num"
où "num" correspond au niveau voulu. Le niveau 1 par exemple, n'affiche
que les messages de très grande importance.

Il se peut également que le fichier /etc/syslog.conf soit mal configuré.
Si le problème persiste, postez ce fichier.

Je vérifierais aussi que klogd est bel et bien lancé via la commande:
# ps aux

Nicolas S.

Avatar
Kevin Denis
On 2005-04-21, Vincent Ramos wrote:

Que se passe-t-il exactement quand vous tapez dmesg?


Je reçois comme attendu le contenu du buffer. Mais le
fichier /var/log/dmesg est toujours vide, alors que du temps où
j'utilisais Red Hat, il contenait les messages transmis lors de la
procédure de démarrage.

Je cherche en vain sur Google : trop d'articles avec « dmesg ».


Peut etre a chercher avec syslogd plutot.
Sur une slackware, par exemple, le fichier /var/log/demsg est rempli
a la fin du boot par:
dmesg > /var/log/dmesg
Voir comment la redhat faisait.

pour le nourrir par les messages noyaux, une incursion dans /etc/syslogd.conf
devrait vous donner des pistes
--
Kevin


Avatar
Vincent Ramos
Nicoo a écrit dans <4267ffd8$0$21630$ :

Il est probable dmesg soit réglé sur un niveau trop faible (ce qui
empêche l'affichage des messages).
Faites un tour dans le fichier /proc/kmsg pour en savoir un peu
plus.


Je n'arrive pas à l'afficher (j'ai tenté cat /proc/kmsg en root et
rien ne se passe : il me faut un ctrl-c pour reprendre la main).

le niveau de dmesg se règle comme suit: # dmesg -n "num"
où "num" correspond au niveau voulu. Le niveau 1 par exemple,
n'affiche que les messages de très grande importance.


Si je règle le niveau de dmesg, où la configuration est-elle
enregistrée ?

Il se peut également que le fichier /etc/syslog.conf soit mal
configuré. Si le problème persiste, postez ce fichier.


Le voici :
auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none /var/log/syslog
cron.* /var/log/cron.log
daemon.* /var/log/daemon.log
kern.* /var/log/kern.log
lpr.* /var/log/lpr.log
mail.* /var/log/mail.log
user.* /var/log/user.log
uucp.* /var/log/uucp.log

mail.info /var/log/mail.info
mail.warn /var/log/mail.warn
mail.err /var/log/mail.err

news.crit /var/log/news/news.crit
news.err /var/log/news/news.err
news.notice /var/log/news/news.notice

kern, news et mail.
*.Þbug;
auth,authpriv.none;
kern.none;
news.none;mail.none /var/log/debug

*.=info;*.=notice;*.=warn;
auth,authpriv.none;
cron,daemon.none;
mail,news.none /var/log/messages

*.=info;*.=notice;*.=warn;
auth,authpriv.none;
cron,daemon.none;
mail,news.none |/dev/tty8

kern.Þbug /dev/tty9
kern.Þbug /var/log/firewall
kern.!Þbug /dev/tty10
*.* /dev/tty11

kern.info |/var/lib/psad/psadfifo

*.emerg *

Je vérifierais aussi que klogd est bel et bien lancé via la
commande:
# ps aux


Là, je suis sûr qu'il tourne et mes fichiers de log sont correctement
traités (mais pas dmesg).

Merci de votre aide.

--
<http://fr.wikipedia.org/wiki/Utilisateur:Vincent_Ramos>

Avatar
Nicolas S.
On 2005-04-21, Vincent Ramos wrote:

Que se passe-t-il exactement quand vous tapez dmesg?


Je reçois comme attendu le contenu du buffer. Mais le
fichier /var/log/dmesg est toujours vide, alors que du temps où
j'utilisais Red Hat, il contenait les messages transmis lors de la
procédure de démarrage.

Je cherche en vain sur Google : trop d'articles avec « dmesg ».



Peut etre a chercher avec syslogd plutot.
Sur une slackware, par exemple, le fichier /var/log/demsg est rempli
a la fin du boot par:
dmesg > /var/log/dmesg


Dans quel script?

Voir comment la redhat faisait.

pour le nourrir par les messages noyaux, une incursion dans /etc/syslogd.conf
devrait vous donner des pistes




1 2