Problèmes et Solutions
S'il n'y a pas de solution c'est qu'il n'y a pas de
problème. (Dicton
Shadok)
Avec mes remerciements à l'Université de Pau pour sa
compilation des proverbes Shadoks
Exposé du problème (Linux famille Debian, Ubuntu...)
Un fichier de log reçoit des events sans raison apparente
Linux logue tous les évènements dans des fichiers
rangés dans /var/log
Ces fichiers accumulent les "events" et dans cerains cas ils croissent
sans raison apparente.
Il convient donc d'isoler les causes de cette croissance parasite et
corriger le
problème.
Cas pratique suite à installations multiples
Lors de l'installation d'une fonction par une méthode "Try and
Test", des programmes sont
lancés dans l'arrière plan, (BackGround) et font appel
à des fonctions qui seront supprimées
dans une prochaine itération de "Try and Test". Dans ce cas les
"DAEMONS" ne trouvent
plus leur cibles ce qui provoque une erreur système.
C'est ce qui est
arrivé lors de la mise en place et de l'essai de
différentes versions de "sendmail".
Diagnostic
Le fichier "/var/log/mail.log" enregistre des nouvelles entrées
plusieurs fois par seconde :
Jan 6 07:45:33 picolo sm-mta[2633]: r02C21ic004971: Warning: program /usr/sbin/sensible-mda unsafe: No such file or directory
Le programme /usr/sbin.sensible-mda semble ne pas exister.
Ceci est confirmé par la commande "locate sensible-mda" or ce
programme qui n'existe plus est bien appelé mais par qui ?
Solution
Identification du process appelant
Dans un premier temps il faut créer de toute pièce sous
"root" un script "/usr/sbin/sensible-mda"
qui
a pour vocation de piéger la routine de niveau supérieur.
Ici les données issues du script sont contenues dans le fichier
"/tmp/piege.log".
Le fichier "/tmp/piege.log" pointe le process appelant qui est
désigné par
"Process = xxxxx" qui est suivi des informations système
fournies par la
commande "ps -ef"
Premiers pas vers la solution
L'arrêt des appels parasites est réalisé par un
"kill xxxx" où xxxx est le numéro de process
repéré par
"Process=xxxx"
Ici les process à tuer sont "30591" et "6212" (voir les 3
dernières lignes de "/usr/sbin/sensible-mda")
En fait ces process sont des process orphelins issus d'installations
antérieures, il reste à vérifier que le
problème est bien résolu en scrutant la taille du fichier
piège /tmp/piege.log"
Finalisation de la solution du problème
Malgré l'arrêt des process orphelins, après un
délai de quelques minutes, le fichier /tmp/piege.log"
reçoit à nouveau des events. Mais cette fois
"Process=xxxx" ne donne plus qu'une seule source,
c'est-à-dire "sendmail : MTA". Or ce serveur n'utilise plus la
fonction "sendmail", celle-ci était restée
active malgré une désinstallation. Pour régler le
problème il ne restait plus qu'à stopper le service par
la commande passée sous "root"
"service sendmail stop" qui en arrêtant le service règle
les accès parasites.
RETOUR (Home page)