logrotate : stat of @ failed (No such file or directory)
12 réponses
Laurent Hugé
Bonjour,
Après quelques semaines passée à passer ma machine en
LinuxFromScratch, je suis dans la phase de finition de configuration.
Essayant d'installer logrotate, je me retrouve face à une erreur que
je n'arrive pas à cerner :
- j'ai installé logrotate 3.3 (en mode débugage avec un fichier de
configuration logrotate.conf uniquement composé de /var/log
messages), j'obtiens ceci :
reading config file /etc/logrotate.conf
reading config info for /messages
Handling 1 logs
rotating pattern: /var/log/messages 104857600 bytes (5 rotations)
empty log files are not rotated old logs are removed
errors displayed on stderr
rotating file @
stat of @ failed: No such file or directory
log does not need rotating
- j'ai compilé logrotate 3.5.9, mais lors du make test, j'arrive à :
(cd test; ./test)
/usr/src/apps/système/logrotate-3.5.9/test
error: test-config.1:1 unexpected text
stat of pW@h\@ failed: No such file or directory
... (de multiple fois, pour chaque fichier de test en fait).
Ce qui m'inquiète, c'est que logrotate semble lire correctement le
fichier de configuration (il trouve bien /var/log/messages), mais
lorsqu'il tente d'y accéder, il génère une erreur ("rotating file
@").
J'ai inspecté le contenu de logrotate.c, mais tout semble correct.
L'erreur n'est relatée nulle part (ni sur Google, que je cherche ou
non selon logrotate, ni sur le bug report de Debian).
De plus, j'avais déjà installé logrotate sur mon autre machine
(LinuxFromScratch aussi) et je n'ai jamais eu une telle erreur.
En faisant passer logrotate via strace, je m'aperçois qu'il cherche à
accéder à une configuration (?) de popt. Dans le doute, j'ai
réinstallé popt, mais cela n'a rien changé (d'ailleurs, aucun de ces
fichiers n'est installé avec popt, ni n'est disponible dans les
sources).
Il vient aussi lire le fichier /usr/share/zoneinfo/Europe/Paris, mais
là, je ne vois pas pourquoi.
Dans quelle direction faut-il que je cherche ?
Par pitié, ne me dite pas que c'est la glibc qui plante :-( Je ne
verrais pas pourquoi elle ne plante que maintenant alors que j'ai
installé de nombreuses choses sans problème (du style KDE ou GNOME !)
On Thu, 08 Apr 2004 22:15:35 +0200, Laurent Hugé wrote:
Bonjour,
Après quelques semaines passée à passer ma machine en LinuxFromScratch, je suis dans la phase de finition de configuration. Essayant d'installer logrotate, je me retrouve face à une erreur que je n'arrive pas à cerner : - j'ai installé logrotate 3.3 (en mode débugage avec un fichier de configuration logrotate.conf uniquement composé de /var/log messages), j'obtiens ceci : reading config file /etc/logrotate.conf reading config info for /messages Handling 1 logs rotating pattern: /var/log/messages 104857600 bytes (5 rotations) empty log files are not rotated old logs are removed errors displayed on stderr rotating file @ stat of @ failed: No such file or directory log does not need rotating
- j'ai compilé logrotate 3.5.9, mais lors du make test, j'arrive à : (cd test; ./test) /usr/src/apps/système/logrotate-3.5.9/test error: test-config.1:1 unexpected text stat of @ failed: No such file or directory ... (de multiple fois, pour chaque fichier de test en fait).
Ce qui m'inquiète, c'est que logrotate semble lire correctement le fichier de configuration (il trouve bien /var/log/messages), mais lorsqu'il tente d'y accéder, il génère une erreur ("rotating file @").
Ca vient soit du fichier logrotate.conf, soit du contenu de /var/log/messages (un fichier nommé '@' ?) les poster serait peut-être judicieux...
On Thu, 08 Apr 2004 22:15:35 +0200, Laurent Hugé wrote:
Bonjour,
Après quelques semaines passée à passer ma machine en
LinuxFromScratch, je suis dans la phase de finition de configuration.
Essayant d'installer logrotate, je me retrouve face à une erreur que
je n'arrive pas à cerner :
- j'ai installé logrotate 3.3 (en mode débugage avec un fichier de
configuration logrotate.conf uniquement composé de /var/log
messages), j'obtiens ceci :
reading config file /etc/logrotate.conf
reading config info for /messages
Handling 1 logs
rotating pattern: /var/log/messages 104857600 bytes (5 rotations)
empty log files are not rotated old logs are removed
errors displayed on stderr
rotating file @
stat of @ failed: No such file or directory
log does not need rotating
- j'ai compilé logrotate 3.5.9, mais lors du make test, j'arrive à :
(cd test; ./test)
/usr/src/apps/système/logrotate-3.5.9/test
error: test-config.1:1 unexpected text
stat of pW@h@ failed: No such file or directory
... (de multiple fois, pour chaque fichier de test en fait).
Ce qui m'inquiète, c'est que logrotate semble lire correctement le
fichier de configuration (il trouve bien /var/log/messages), mais
lorsqu'il tente d'y accéder, il génère une erreur ("rotating file
@").
Ca vient soit du fichier logrotate.conf, soit du contenu de
/var/log/messages (un fichier nommé '@' ?)
les poster serait peut-être judicieux...
On Thu, 08 Apr 2004 22:15:35 +0200, Laurent Hugé wrote:
Bonjour,
Après quelques semaines passée à passer ma machine en LinuxFromScratch, je suis dans la phase de finition de configuration. Essayant d'installer logrotate, je me retrouve face à une erreur que je n'arrive pas à cerner : - j'ai installé logrotate 3.3 (en mode débugage avec un fichier de configuration logrotate.conf uniquement composé de /var/log messages), j'obtiens ceci : reading config file /etc/logrotate.conf reading config info for /messages Handling 1 logs rotating pattern: /var/log/messages 104857600 bytes (5 rotations) empty log files are not rotated old logs are removed errors displayed on stderr rotating file @ stat of @ failed: No such file or directory log does not need rotating
- j'ai compilé logrotate 3.5.9, mais lors du make test, j'arrive à : (cd test; ./test) /usr/src/apps/système/logrotate-3.5.9/test error: test-config.1:1 unexpected text stat of @ failed: No such file or directory ... (de multiple fois, pour chaque fichier de test en fait).
Ce qui m'inquiète, c'est que logrotate semble lire correctement le fichier de configuration (il trouve bien /var/log/messages), mais lorsqu'il tente d'y accéder, il génère une erreur ("rotating file @").
Ca vient soit du fichier logrotate.conf, soit du contenu de /var/log/messages (un fichier nommé '@' ?) les poster serait peut-être judicieux...
g.patel
On Fri, 09 Apr 2004 00:52:56 +0200, no_spam wrote:
Ca vient soit du fichier logrotate.conf, soit du contenu de /var/log/messages (un fichier nommé '@' ?) les poster serait peut-être judicieux...
euh, ça doit vouloir dire 'poster une petite partie de /var/log/messages'
Pardon, je me suis trompé, je voulais dire poster le contenu de /var/log: ls -al /var/log Désolé.
Laurent Hugé
Pardon, je me suis trompé, je voulais dire poster le contenu de /var/log: ls -al /var/log Non, non, je suis sûr de ma configuration.
Pour ceux qui en doutent encore : - /etc/logrotate.conf : compress notifempty
/var/log/messages { rotate 5 weekly size 100M postrotate endscript }
- ls -al /var/log : total 391404 drwx------ 3 root root 4096 9 avril . drwxr-xr-x 13 root root 4096 4 mars .. -rw-r--r-- 1 root root 307519529 9 avril auth.log -rw-r--r-- 1 root root 768 28 février btmp -rw-r--r-- 1 root root 0 27 mars cron.log -rw-r--r-- 1 root root 1318 5 avril cups.err -rw-r--r-- 1 root root 455913 9 avril cups.log -rw-r--r-- 1 root root 1243237 9 avril daemon.err -rw-r--r-- 1 root root 1616541 9 avril daemon.log -rw-r--r-- 1 root root 0 27 mars emergency -rw-r--r-- 1 root root 99533 9 avril kdm.log -rw-r--r-- 1 root root 1711 7 avril kernel.err -rw-r--r-- 1 root root 267025 9 avril kernel.log -rw-r--r-- 1 root root 14801416 27 mars kern.log -rw-r--r-- 1 root root 1945596 9 avril lastlog -rw-r--r-- 1 root root 0 28 février mail.log -rw-r--r-- 1 root root 72498119 9 avril messages -rw-r--r-- 1 root root 32650 7 mars scrollkeeper.log -rw-r--r-- 1 root root 1137 27 mars servicelog drwx------ 8047 root root 184320 9 avril snort -rw-r--r-- 1 root root 599490 29 février sys.log -rw-r--r-- 1 root root 15587 9 avril user.log -rw-r--r-- 1 root root 688896 9 avril wtmp -rw-r--r-- 1 root root 40905 9 avril XFree86.0.log -rw-r--r-- 1 root root 41734 8 avril XFree86.0.log.old -rw-r--r-- 1 root root 41541 9 avril XFree86.1.log -rw-r--r-- 1 root root 40575 8 avril XFree86.1.log.old -rw-r--r-- 1 root huge 41405 2 avril XFree86.2.log -rw-r--r-- 1 root huge 41328 30 mars XFree86.2.log.old
Bon, alors maintenant, qu'est-ce que je fais ? Il y a bien une évaluation de stat (je suppose) qui ne fonctionne pas comme prévu. -- Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel) GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
Pardon, je me suis trompé, je voulais dire poster le contenu de
/var/log: ls -al /var/log
Non, non, je suis sûr de ma configuration.
Pour ceux qui en doutent encore :
- /etc/logrotate.conf :
compress
notifempty
/var/log/messages {
rotate 5
weekly
size 100M
postrotate
endscript
}
- ls -al /var/log :
total 391404
drwx------ 3 root root 4096 9 avril .
drwxr-xr-x 13 root root 4096 4 mars ..
-rw-r--r-- 1 root root 307519529 9 avril auth.log
-rw-r--r-- 1 root root 768 28 février btmp
-rw-r--r-- 1 root root 0 27 mars cron.log
-rw-r--r-- 1 root root 1318 5 avril cups.err
-rw-r--r-- 1 root root 455913 9 avril cups.log
-rw-r--r-- 1 root root 1243237 9 avril daemon.err
-rw-r--r-- 1 root root 1616541 9 avril daemon.log
-rw-r--r-- 1 root root 0 27 mars emergency
-rw-r--r-- 1 root root 99533 9 avril kdm.log
-rw-r--r-- 1 root root 1711 7 avril kernel.err
-rw-r--r-- 1 root root 267025 9 avril kernel.log
-rw-r--r-- 1 root root 14801416 27 mars kern.log
-rw-r--r-- 1 root root 1945596 9 avril lastlog
-rw-r--r-- 1 root root 0 28 février mail.log
-rw-r--r-- 1 root root 72498119 9 avril messages
-rw-r--r-- 1 root root 32650 7 mars
scrollkeeper.log
-rw-r--r-- 1 root root 1137 27 mars servicelog
drwx------ 8047 root root 184320 9 avril snort
-rw-r--r-- 1 root root 599490 29 février sys.log
-rw-r--r-- 1 root root 15587 9 avril user.log
-rw-r--r-- 1 root root 688896 9 avril wtmp
-rw-r--r-- 1 root root 40905 9 avril
XFree86.0.log
-rw-r--r-- 1 root root 41734 8 avril
XFree86.0.log.old
-rw-r--r-- 1 root root 41541 9 avril
XFree86.1.log
-rw-r--r-- 1 root root 40575 8 avril
XFree86.1.log.old
-rw-r--r-- 1 root huge 41405 2 avril
XFree86.2.log
-rw-r--r-- 1 root huge 41328 30 mars
XFree86.2.log.old
Bon, alors maintenant, qu'est-ce que je fais ? Il y a bien une
évaluation de stat (je suppose) qui ne fonctionne pas comme prévu.
--
Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel)
GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
Pardon, je me suis trompé, je voulais dire poster le contenu de /var/log: ls -al /var/log Non, non, je suis sûr de ma configuration.
Pour ceux qui en doutent encore : - /etc/logrotate.conf : compress notifempty
/var/log/messages { rotate 5 weekly size 100M postrotate endscript }
- ls -al /var/log : total 391404 drwx------ 3 root root 4096 9 avril . drwxr-xr-x 13 root root 4096 4 mars .. -rw-r--r-- 1 root root 307519529 9 avril auth.log -rw-r--r-- 1 root root 768 28 février btmp -rw-r--r-- 1 root root 0 27 mars cron.log -rw-r--r-- 1 root root 1318 5 avril cups.err -rw-r--r-- 1 root root 455913 9 avril cups.log -rw-r--r-- 1 root root 1243237 9 avril daemon.err -rw-r--r-- 1 root root 1616541 9 avril daemon.log -rw-r--r-- 1 root root 0 27 mars emergency -rw-r--r-- 1 root root 99533 9 avril kdm.log -rw-r--r-- 1 root root 1711 7 avril kernel.err -rw-r--r-- 1 root root 267025 9 avril kernel.log -rw-r--r-- 1 root root 14801416 27 mars kern.log -rw-r--r-- 1 root root 1945596 9 avril lastlog -rw-r--r-- 1 root root 0 28 février mail.log -rw-r--r-- 1 root root 72498119 9 avril messages -rw-r--r-- 1 root root 32650 7 mars scrollkeeper.log -rw-r--r-- 1 root root 1137 27 mars servicelog drwx------ 8047 root root 184320 9 avril snort -rw-r--r-- 1 root root 599490 29 février sys.log -rw-r--r-- 1 root root 15587 9 avril user.log -rw-r--r-- 1 root root 688896 9 avril wtmp -rw-r--r-- 1 root root 40905 9 avril XFree86.0.log -rw-r--r-- 1 root root 41734 8 avril XFree86.0.log.old -rw-r--r-- 1 root root 41541 9 avril XFree86.1.log -rw-r--r-- 1 root root 40575 8 avril XFree86.1.log.old -rw-r--r-- 1 root huge 41405 2 avril XFree86.2.log -rw-r--r-- 1 root huge 41328 30 mars XFree86.2.log.old
Bon, alors maintenant, qu'est-ce que je fais ? Il y a bien une évaluation de stat (je suppose) qui ne fonctionne pas comme prévu. -- Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel) GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
no_spam
On Fri, 09 Apr 2004 19:50:32 +0200, Laurent Hugé wrote:
Pardon, je me suis trompé, je voulais dire poster le contenu de /var/log: ls -al /var/log Non, non, je suis sûr de ma configuration.
Pour ceux qui en doutent encore : ...
OK, ça semble correct, sauf qu'il faut relancer syslog-ng après avoir bougé /var/log/messges. J'ai: postrotate /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true endscript Mais ça n'est pas là que tu a un problème...
Bon, alors maintenant, qu'est-ce que je fais ? Il y a bien une évaluation de stat (je suppose) qui ne fonctionne pas comme prévu. Effectivement.
D'après le strace, le nom du fichier est '' ce qui est bien étrange. Vérifie, avec hexedit, qu'il n'y a pas, par hasard, des caractères non imprimables dans le fichier de conf. Sinon, je ne vois pas... Ou une information erronée dans /var/lib/logrotate/status ? Essayes toujours de relancer le strace en affichant la totalité des messages, et en ne gardant que les open/read/write/close avec: strace -v -e trace=open,close,read,write Ce nom doit bien venir de quelque part !
On Fri, 09 Apr 2004 19:50:32 +0200, Laurent Hugé wrote:
Pardon, je me suis trompé, je voulais dire poster le contenu de
/var/log: ls -al /var/log
Non, non, je suis sûr de ma configuration.
Pour ceux qui en doutent encore :
...
OK, ça semble correct, sauf qu'il faut relancer syslog-ng après avoir
bougé /var/log/messges. J'ai:
postrotate
/etc/init.d/syslog-ng reload > /dev/null 2>&1 || true
endscript
Mais ça n'est pas là que tu a un problème...
Bon, alors maintenant, qu'est-ce que je fais ? Il y a bien une
évaluation de stat (je suppose) qui ne fonctionne pas comme prévu.
Effectivement.
D'après le strace, le nom du fichier est '23423@4'
ce qui est bien étrange.
Vérifie, avec hexedit, qu'il n'y a pas, par hasard, des caractères
non imprimables dans le fichier de conf.
Sinon, je ne vois pas...
Ou une information erronée dans /var/lib/logrotate/status ?
Essayes toujours de relancer le strace en affichant la totalité
des messages, et en ne gardant que les open/read/write/close
avec:
strace -v -e trace=open,close,read,write
Ce nom doit bien venir de quelque part !
On Fri, 09 Apr 2004 19:50:32 +0200, Laurent Hugé wrote:
Pardon, je me suis trompé, je voulais dire poster le contenu de /var/log: ls -al /var/log Non, non, je suis sûr de ma configuration.
Pour ceux qui en doutent encore : ...
OK, ça semble correct, sauf qu'il faut relancer syslog-ng après avoir bougé /var/log/messges. J'ai: postrotate /etc/init.d/syslog-ng reload > /dev/null 2>&1 || true endscript Mais ça n'est pas là que tu a un problème...
Bon, alors maintenant, qu'est-ce que je fais ? Il y a bien une évaluation de stat (je suppose) qui ne fonctionne pas comme prévu. Effectivement.
D'après le strace, le nom du fichier est '' ce qui est bien étrange. Vérifie, avec hexedit, qu'il n'y a pas, par hasard, des caractères non imprimables dans le fichier de conf. Sinon, je ne vois pas... Ou une information erronée dans /var/lib/logrotate/status ? Essayes toujours de relancer le strace en affichant la totalité des messages, et en ne gardant que les open/read/write/close avec: strace -v -e trace=open,close,read,write Ce nom doit bien venir de quelque part !
Laurent Hugé
Effectivement. D'après le strace, le nom du fichier est '' ce qui est bien étrange. Alors j'ai tout fait pas à pas.
Vérifie, avec hexedit, qu'il n'y a pas, par hasard, des caractères non imprimables dans le fichier de conf. J'ai bien vérifié que rien de spécial n'apparaissait. Dans le doute,
j'ai même réécrit complètement le fichier logrotate.conf. Aucun impact sur la sortie.
Sinon, je ne vois pas... Ou une information erronée dans /var/lib/logrotate/status ? $ cat /var/lib/logrotate.status
logrotate state -- version 1
Essayes toujours de relancer le strace en affichant la totalité des messages, et en ne gardant que les open/read/write/close avec: strace -v -e trace=open,close,read,write Je ne connaissait pas, c'est pratique !
En tous cas , voici la sortie : open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 close(3) = 0 open("/usr/lib/libpopt.so.0", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 20023"..., 1024) = 1024 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 340Y1"..., 1024) = 1024 close(3) = 0 open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/root/.popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/logrotate.conf", O_RDONLY) = 3 read(3, "compressnnotifemptynn/var/log/me"..., 95) = 95 close(3) = 0 write(2, "reading config file /etc/logrota"..., 40) = 40 write(2, "reading config info for /var/log"..., 42) = 42 open("/var/lib/logrotate.status", O_RDONLY) = 3 read(3, "logrotate state -- version 1n", 4096) = 29 read(3, "", 4096) = 0 close(3) = 0 write(2, "Handling 1 logsn", 16) = 16 write(2, "rotating pattern: /var/log/messa"..., 36) = 36 write(2, "104857600 bytes ", 16) = 16 write(2, "(5 rotations)n", 14) = 14 write(2, "empty log files are not rotated ", 32) = 32 write(2, "old logs are removedn", 21) = 21 write(2, "errors displayed on stderrn", 27) = 27 open("/usr/share/zoneinfo/Europe/Paris", O_RDONLY) = 3 read(3, "TZif f f "..., 4096) = 1082 close(3) = 0 write(2, "rotating file ", 20) = 20 write(2, "stat of failed: No such fi"..., 48) = 48 write(2, "log does not need rotatingn", 27) = 27
Ce nom doit bien venir de quelque part ! Oui, mais je ne vois rien de spécial, en dehors de la lecture de mon
fichier zoneinfo (si effectivement, les appels de popt sont normaux). -- Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel) GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
Effectivement.
D'après le strace, le nom du fichier est '23423@4'
ce qui est bien étrange.
Alors j'ai tout fait pas à pas.
Vérifie, avec hexedit, qu'il n'y a pas, par hasard, des caractères
non imprimables dans le fichier de conf.
J'ai bien vérifié que rien de spécial n'apparaissait. Dans le doute,
j'ai même réécrit complètement le fichier logrotate.conf.
Aucun impact sur la sortie.
Sinon, je ne vois pas...
Ou une information erronée dans /var/lib/logrotate/status ?
$ cat /var/lib/logrotate.status
logrotate state -- version 1
Essayes toujours de relancer le strace en affichant la totalité
des messages, et en ne gardant que les open/read/write/close
avec:
strace -v -e trace=open,close,read,write
Je ne connaissait pas, c'est pratique !
En tous cas , voici la sortie :
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
close(3) = 0
open("/usr/lib/libpopt.so.0", O_RDONLY) = 3
read(3, "177ELF111 3 3 1 20023"...,
1024) = 1024
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "177ELF111 3 3 1 340Y1"...,
1024) = 1024
close(3) = 0
open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/root/.popt", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/logrotate.conf", O_RDONLY) = 3
read(3, "compressnnotifemptynn/var/log/me"..., 95) = 95
close(3) = 0
write(2, "reading config file /etc/logrota"..., 40) = 40
write(2, "reading config info for /var/log"..., 42) = 42
open("/var/lib/logrotate.status", O_RDONLY) = 3
read(3, "logrotate state -- version 1n", 4096) = 29
read(3, "", 4096) = 0
close(3) = 0
write(2, "Handling 1 logsn", 16) = 16
write(2, "rotating pattern: /var/log/messa"..., 36) = 36
write(2, "104857600 bytes ", 16) = 16
write(2, "(5 rotations)n", 14) = 14
write(2, "empty log files are not rotated ", 32) = 32
write(2, "old logs are removedn", 21) = 21
write(2, "errors displayed on stderrn", 27) = 27
open("/usr/share/zoneinfo/Europe/Paris", O_RDONLY) = 3
read(3, "TZif f f "...,
4096) = 1082
close(3) = 0
write(2, "rotating file 234223@4n", 20) = 20
write(2, "stat of 234223@4 failed: No such fi"..., 48) = 48
write(2, "log does not need rotatingn", 27) = 27
Ce nom doit bien venir de quelque part !
Oui, mais je ne vois rien de spécial, en dehors de la lecture de mon
fichier zoneinfo (si effectivement, les appels de popt sont normaux).
--
Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel)
GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
Effectivement. D'après le strace, le nom du fichier est '' ce qui est bien étrange. Alors j'ai tout fait pas à pas.
Vérifie, avec hexedit, qu'il n'y a pas, par hasard, des caractères non imprimables dans le fichier de conf. J'ai bien vérifié que rien de spécial n'apparaissait. Dans le doute,
j'ai même réécrit complètement le fichier logrotate.conf. Aucun impact sur la sortie.
Sinon, je ne vois pas... Ou une information erronée dans /var/lib/logrotate/status ? $ cat /var/lib/logrotate.status
logrotate state -- version 1
Essayes toujours de relancer le strace en affichant la totalité des messages, et en ne gardant que les open/read/write/close avec: strace -v -e trace=open,close,read,write Je ne connaissait pas, c'est pratique !
En tous cas , voici la sortie : open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 close(3) = 0 open("/usr/lib/libpopt.so.0", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 20023"..., 1024) = 1024 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 340Y1"..., 1024) = 1024 close(3) = 0 open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/root/.popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/logrotate.conf", O_RDONLY) = 3 read(3, "compressnnotifemptynn/var/log/me"..., 95) = 95 close(3) = 0 write(2, "reading config file /etc/logrota"..., 40) = 40 write(2, "reading config info for /var/log"..., 42) = 42 open("/var/lib/logrotate.status", O_RDONLY) = 3 read(3, "logrotate state -- version 1n", 4096) = 29 read(3, "", 4096) = 0 close(3) = 0 write(2, "Handling 1 logsn", 16) = 16 write(2, "rotating pattern: /var/log/messa"..., 36) = 36 write(2, "104857600 bytes ", 16) = 16 write(2, "(5 rotations)n", 14) = 14 write(2, "empty log files are not rotated ", 32) = 32 write(2, "old logs are removedn", 21) = 21 write(2, "errors displayed on stderrn", 27) = 27 open("/usr/share/zoneinfo/Europe/Paris", O_RDONLY) = 3 read(3, "TZif f f "..., 4096) = 1082 close(3) = 0 write(2, "rotating file ", 20) = 20 write(2, "stat of failed: No such fi"..., 48) = 48 write(2, "log does not need rotatingn", 27) = 27
Ce nom doit bien venir de quelque part ! Oui, mais je ne vois rien de spécial, en dehors de la lecture de mon
fichier zoneinfo (si effectivement, les appels de popt sont normaux). -- Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel) GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
g.patel
On Thu, 08 Apr 2004 22:15:35 +0200, Laurent =?ISO-8859-15?Q?Hugé? wrote:
Après quelques semaines passée à passer ma machine en LinuxFromScratch, je suis dans la phase de finition de configuration. Essayant d'installer logrotate (...)
rotating file @ stat of @ failed: No such file or directory log does not need rotating
- j'ai compilé logrotate 3.5.9, mais lors du make test, j'arrive à :
Quelques observations :
- la lecture des fichiers de journal à compacter se fait dans le fichier config.c, routine readConfigFile; cette routine d'environ 600 lignes de C avec des while, if, imbriqués a gogo est un exemple de code susceptible de donner des résultats semi-aléatoires lors de toute variation imprévue des entrées. Il est envisageable qu'une erreur plus ou moins énorme de configuration se répercute dans cette construction d'une manière imprévisible. - apparemment la lecture des fichiers de configuration comporte des appels à des fonctions liées à la gestion des utilisateurs, qui doit probablement fonctionner correctement pour que cette routine marche. - popt est utilisé pour lire les options de ligne de commande - la lecture des fichiers de zones de temps est probablement causée par l'appel de fonctions comme localtime, qui sont apparemment utilisées pour déterminer si un fichier doit etre compressé en fonction de sa durée de rétention, etc... - la version de logrotate utilisée est assez antique. Peut-etre une version récente serait capable de détecter et de reporter une (éventuelle) erreur de configuration de manière plus claire.
Après quelques semaines passée à passer ma machine en
LinuxFromScratch, je suis dans la phase de finition de configuration.
Essayant d'installer logrotate
(...)
rotating file @
stat of @ failed: No such file or directory
log does not need rotating
- j'ai compilé logrotate 3.5.9, mais lors du make test, j'arrive à :
Quelques observations :
- la lecture des fichiers de journal à compacter se fait dans
le fichier config.c, routine readConfigFile; cette routine
d'environ 600 lignes de C avec des while, if, imbriqués a
gogo est un exemple de code susceptible de donner des
résultats semi-aléatoires lors de toute variation imprévue
des entrées. Il est envisageable qu'une erreur plus ou moins
énorme de configuration se répercute dans cette construction
d'une manière imprévisible.
- apparemment la lecture des fichiers de configuration
comporte des appels à des fonctions liées à la gestion des
utilisateurs, qui doit probablement fonctionner correctement
pour que cette routine marche.
- popt est utilisé pour lire les options de ligne de commande
- la lecture des fichiers de zones de temps est probablement
causée par l'appel de fonctions comme localtime, qui sont
apparemment utilisées pour déterminer si un fichier doit etre
compressé en fonction de sa durée de rétention, etc...
- la version de logrotate utilisée est assez antique. Peut-etre
une version récente serait capable de détecter et de reporter
une (éventuelle) erreur de configuration de manière plus
claire.
On Thu, 08 Apr 2004 22:15:35 +0200, Laurent =?ISO-8859-15?Q?Hugé? wrote:
Après quelques semaines passée à passer ma machine en LinuxFromScratch, je suis dans la phase de finition de configuration. Essayant d'installer logrotate (...)
rotating file @ stat of @ failed: No such file or directory log does not need rotating
- j'ai compilé logrotate 3.5.9, mais lors du make test, j'arrive à :
Quelques observations :
- la lecture des fichiers de journal à compacter se fait dans le fichier config.c, routine readConfigFile; cette routine d'environ 600 lignes de C avec des while, if, imbriqués a gogo est un exemple de code susceptible de donner des résultats semi-aléatoires lors de toute variation imprévue des entrées. Il est envisageable qu'une erreur plus ou moins énorme de configuration se répercute dans cette construction d'une manière imprévisible. - apparemment la lecture des fichiers de configuration comporte des appels à des fonctions liées à la gestion des utilisateurs, qui doit probablement fonctionner correctement pour que cette routine marche. - popt est utilisé pour lire les options de ligne de commande - la lecture des fichiers de zones de temps est probablement causée par l'appel de fonctions comme localtime, qui sont apparemment utilisées pour déterminer si un fichier doit etre compressé en fonction de sa durée de rétention, etc... - la version de logrotate utilisée est assez antique. Peut-etre une version récente serait capable de détecter et de reporter une (éventuelle) erreur de configuration de manière plus claire.
Gérard Patel
no_spam
On Mon, 12 Apr 2004 20:19:04 +0200, Laurent Hugé wrote:
J'ai bien vérifié que rien de spécial n'apparaissait. Dans le doute, j'ai même réécrit complètement le fichier logrotate.conf. Aucun impact sur la sortie.
Sinon, je ne vois pas... Ou une information erronée dans /var/lib/logrotate/status ? $ cat /var/lib/logrotate.status
logrotate state -- version 1
J'ai la version 2... J'ai essayé ton fichier de conf sur ma machine, ça marche nickel. J'utilise logrotate 3.6.5 et j'ai vérifié qu'ils n'utilise pas de librairie autre que la libc (2.3.2) et popt (0.0.0). Donc, ça ne viens pas de ta config. Tu peux essayer d'effacer /var/lib/logrotate.status Sinon, d'installer une autre version de la libpopt (s'il y en a) et un logrotate à jour. Je ne vois rien de mieux...
On Mon, 12 Apr 2004 20:19:04 +0200, Laurent Hugé wrote:
J'ai bien vérifié que rien de spécial n'apparaissait. Dans le doute,
j'ai même réécrit complètement le fichier logrotate.conf.
Aucun impact sur la sortie.
Sinon, je ne vois pas...
Ou une information erronée dans /var/lib/logrotate/status ?
$ cat /var/lib/logrotate.status
logrotate state -- version 1
J'ai la version 2...
J'ai essayé ton fichier de conf sur ma machine, ça marche nickel.
J'utilise logrotate 3.6.5 et j'ai vérifié qu'ils n'utilise pas
de librairie autre que la libc (2.3.2) et popt (0.0.0).
Donc, ça ne viens pas de ta config.
Tu peux essayer d'effacer /var/lib/logrotate.status
Sinon, d'installer une autre version de la libpopt (s'il y en a)
et un logrotate à jour.
Je ne vois rien de mieux...
On Mon, 12 Apr 2004 20:19:04 +0200, Laurent Hugé wrote:
J'ai bien vérifié que rien de spécial n'apparaissait. Dans le doute, j'ai même réécrit complètement le fichier logrotate.conf. Aucun impact sur la sortie.
Sinon, je ne vois pas... Ou une information erronée dans /var/lib/logrotate/status ? $ cat /var/lib/logrotate.status
logrotate state -- version 1
J'ai la version 2... J'ai essayé ton fichier de conf sur ma machine, ça marche nickel. J'utilise logrotate 3.6.5 et j'ai vérifié qu'ils n'utilise pas de librairie autre que la libc (2.3.2) et popt (0.0.0). Donc, ça ne viens pas de ta config. Tu peux essayer d'effacer /var/lib/logrotate.status Sinon, d'installer une autre version de la libpopt (s'il y en a) et un logrotate à jour. Je ne vois rien de mieux...
Laurent Hugé
J'ai la version 2... J'ai essayé ton fichier de conf sur ma machine, ça marche nickel. Oui. En fait, je l'ai simplement copié de mon autre PC, puis voyant
que cela ne marchait pas, j'ai supprimé toutes les entrées après la première. Dans il n'y avait pas de raison que cela ne fonctionne pas (sauf influence vaudou ;-)
J'utilise logrotate 3.6.5 et j'ai vérifié qu'ils n'utilise pas de librairie autre que la libc (2.3.2) et popt (0.0.0). Donc, ça ne viens pas de ta config. Tu peux essayer d'effacer /var/lib/logrotate.status Je l'avais déjà essayé, mais il est réécrit à l'identique à chaque
exécution de logrotate.
Sinon, d'installer une autre version de la libpopt (s'il y en a) et un logrotate à jour. En cherchant via Freshmeat, je n'ai trouvé que la libpopt-1.7 (que
j'avais déjà réinstallé), donc rien de neuf de ce côté. Pour logrotate, je ne savait pas que la version 3.5.9 était antique (au dire de gerard patel ;-). Effectivement, si ni Freshmeat ni Sourceforge ne proposent de version de logrotate, une recherche sous Google (en ajoutant 3.6 pour la version) m'a permis de trouver la version 3.6.8 ! Je l'installe donc, mais son exécution me donne : reading config file /etc/logrotate.conf reading config info for /var/log/messages
Handling 1 logs
rotating pattern: /var/log/messages 104857600 bytes (5 rotations) empty log files are not rotated, old logs are removed considering log @ stat of @ failed: No such file or directory
avec une strace : open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 close(3) = 0 open("/usr/lib/libpopt.so.0", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 20023"..., 1024) = 1024 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 340Y1"..., 1024) = 1024 close(3) = 0 open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/root/.popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/logrotate.conf", O_RDONLY|O_LARGEFILE) = 3 read(3, "compressnnotifemptynn/var/log/me"..., 95) = 95 close(3) = 0 write(2, "reading config file /etc/logrota"..., 40) = 40 write(2, "reading config info for /var/log"..., 43) = 43 open("/var/lib/logrotate.status", O_WRONLY|O_CREAT|O_TRUNC O_LARGEFILE, 0666) = 3 write(3, "logrotate state -- version 2n", 29) = 29 close(3) = 0 write(2, "nHandling 1 logsn", 17) = 17 write(2, "nrotating pattern: /var/log/mess"..., 38) = 38 write(2, "104857600 bytes ", 16) = 16 write(2, "(5 rotations)n", 14) = 14 write(2, "empty log files are not rotated,"..., 33) = 33 write(2, "old logs are removedn", 21) = 21 open("/usr/share/zoneinfo/Europe/Paris", O_RDONLY) = 3 read(3, "TZif f f "..., 4096) = 1082 close(3) = 0 write(2, "considering log @n", 25) = 25 write(2, "stat of @ failed: No such"..., 51) = 51
et un /var/lib/logrotate.status : logrotate state -- version 2
J'ai la version 2...
J'ai essayé ton fichier de conf sur ma machine, ça marche nickel.
Oui. En fait, je l'ai simplement copié de mon autre PC, puis voyant
que cela ne marchait pas, j'ai supprimé toutes les entrées après la
première. Dans il n'y avait pas de raison que cela ne fonctionne pas
(sauf influence vaudou ;-)
J'utilise logrotate 3.6.5 et j'ai vérifié qu'ils n'utilise pas
de librairie autre que la libc (2.3.2) et popt (0.0.0).
Donc, ça ne viens pas de ta config.
Tu peux essayer d'effacer /var/lib/logrotate.status
Je l'avais déjà essayé, mais il est réécrit à l'identique à chaque
exécution de logrotate.
Sinon, d'installer une autre version de la libpopt (s'il y en a)
et un logrotate à jour.
En cherchant via Freshmeat, je n'ai trouvé que la libpopt-1.7 (que
j'avais déjà réinstallé), donc rien de neuf de ce côté.
Pour logrotate, je ne savait pas que la version 3.5.9 était antique
(au dire de gerard patel ;-). Effectivement, si ni Freshmeat ni
Sourceforge ne proposent de version de logrotate, une recherche sous
Google (en ajoutant 3.6 pour la version) m'a permis de trouver la
version 3.6.8 !
Je l'installe donc, mais son exécution me donne :
reading config file /etc/logrotate.conf
reading config info for /var/log/messages
Handling 1 logs
rotating pattern: /var/log/messages 104857600 bytes (5 rotations)
empty log files are not rotated, old logs are removed
considering log pW@h@
stat of pW@h@ failed: No such file or directory
avec une strace :
open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
close(3) = 0
open("/usr/lib/libpopt.so.0", O_RDONLY) = 3
read(3, "177ELF111 3 3 1 20023"...,
1024) = 1024
close(3) = 0
open("/lib/libc.so.6", O_RDONLY) = 3
read(3, "177ELF111 3 3 1 340Y1"...,
1024) = 1024
close(3) = 0
open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/root/.popt", O_RDONLY) = -1 ENOENT (No such file or
directory)
open("/etc/logrotate.conf", O_RDONLY|O_LARGEFILE) = 3
read(3, "compressnnotifemptynn/var/log/me"..., 95) = 95
close(3) = 0
write(2, "reading config file /etc/logrota"..., 40) = 40
write(2, "reading config info for /var/log"..., 43) = 43
open("/var/lib/logrotate.status", O_WRONLY|O_CREAT|O_TRUNC
O_LARGEFILE, 0666) = 3
write(3, "logrotate state -- version 2n", 29) = 29
close(3) = 0
write(2, "nHandling 1 logsn", 17) = 17
write(2, "nrotating pattern: /var/log/mess"..., 38) = 38
write(2, "104857600 bytes ", 16) = 16
write(2, "(5 rotations)n", 14) = 14
write(2, "empty log files are not rotated,"..., 33) = 33
write(2, "old logs are removedn", 21) = 21
open("/usr/share/zoneinfo/Europe/Paris", O_RDONLY) = 3
read(3, "TZif f f "...,
4096) = 1082
close(3) = 0
write(2, "considering log pW1@h\1@n", 25) = 25
write(2, "stat of pW1@h\1@ failed: No such"..., 51) = 51
et un /var/lib/logrotate.status :
logrotate state -- version 2
J'ai la version 2... J'ai essayé ton fichier de conf sur ma machine, ça marche nickel. Oui. En fait, je l'ai simplement copié de mon autre PC, puis voyant
que cela ne marchait pas, j'ai supprimé toutes les entrées après la première. Dans il n'y avait pas de raison que cela ne fonctionne pas (sauf influence vaudou ;-)
J'utilise logrotate 3.6.5 et j'ai vérifié qu'ils n'utilise pas de librairie autre que la libc (2.3.2) et popt (0.0.0). Donc, ça ne viens pas de ta config. Tu peux essayer d'effacer /var/lib/logrotate.status Je l'avais déjà essayé, mais il est réécrit à l'identique à chaque
exécution de logrotate.
Sinon, d'installer une autre version de la libpopt (s'il y en a) et un logrotate à jour. En cherchant via Freshmeat, je n'ai trouvé que la libpopt-1.7 (que
j'avais déjà réinstallé), donc rien de neuf de ce côté. Pour logrotate, je ne savait pas que la version 3.5.9 était antique (au dire de gerard patel ;-). Effectivement, si ni Freshmeat ni Sourceforge ne proposent de version de logrotate, une recherche sous Google (en ajoutant 3.6 pour la version) m'a permis de trouver la version 3.6.8 ! Je l'installe donc, mais son exécution me donne : reading config file /etc/logrotate.conf reading config info for /var/log/messages
Handling 1 logs
rotating pattern: /var/log/messages 104857600 bytes (5 rotations) empty log files are not rotated, old logs are removed considering log @ stat of @ failed: No such file or directory
avec une strace : open("/etc/ld.so.preload", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 close(3) = 0 open("/usr/lib/libpopt.so.0", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 20023"..., 1024) = 1024 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "177ELF111 3 3 1 340Y1"..., 1024) = 1024 close(3) = 0 open("/etc/popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/root/.popt", O_RDONLY) = -1 ENOENT (No such file or directory) open("/etc/logrotate.conf", O_RDONLY|O_LARGEFILE) = 3 read(3, "compressnnotifemptynn/var/log/me"..., 95) = 95 close(3) = 0 write(2, "reading config file /etc/logrota"..., 40) = 40 write(2, "reading config info for /var/log"..., 43) = 43 open("/var/lib/logrotate.status", O_WRONLY|O_CREAT|O_TRUNC O_LARGEFILE, 0666) = 3 write(3, "logrotate state -- version 2n", 29) = 29 close(3) = 0 write(2, "nHandling 1 logsn", 17) = 17 write(2, "nrotating pattern: /var/log/mess"..., 38) = 38 write(2, "104857600 bytes ", 16) = 16 write(2, "(5 rotations)n", 14) = 14 write(2, "empty log files are not rotated,"..., 33) = 33 write(2, "old logs are removedn", 21) = 21 open("/usr/share/zoneinfo/Europe/Paris", O_RDONLY) = 3 read(3, "TZif f f "..., 4096) = 1082 close(3) = 0 write(2, "considering log @n", 25) = 25 write(2, "stat of @ failed: No such"..., 51) = 51
et un /var/lib/logrotate.status : logrotate state -- version 2
- la lecture des fichiers de journal à compacter se fait dans le fichier config.c, routine readConfigFile; cette routine d'environ 600 lignes de C avec des while, if, imbriqués a gogo est un exemple de code susceptible de donner des résultats semi-aléatoires lors de toute variation imprévue des entrées. Il est envisageable qu'une erreur plus ou moins énorme de configuration se répercute dans cette construction d'une manière imprévisible. - apparemment la lecture des fichiers de configuration comporte des appels à des fonctions liées à la gestion des utilisateurs, qui doit probablement fonctionner correctement pour que cette routine marche. - popt est utilisé pour lire les options de ligne de commande - la lecture des fichiers de zones de temps est probablement causée par l'appel de fonctions comme localtime, qui sont apparemment utilisées pour déterminer si un fichier doit etre compressé en fonction de sa durée de rétention, etc... - la version de logrotate utilisée est assez antique. Peut-etre une version récente serait capable de détecter et de reporter une (éventuelle) erreur de configuration de manière plus claire. Bien. Comme je l'ai détaillé dans l'autre fil, je n'ai pas progressé
malgré un passage à logrotate 3.6.8 ! Quel autre voie peut-il y avoir ? -- Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel) GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
Quelques observations :
- la lecture des fichiers de journal à compacter se fait dans
le fichier config.c, routine readConfigFile; cette routine
d'environ 600 lignes de C avec des while, if, imbriqués a
gogo est un exemple de code susceptible de donner des
résultats semi-aléatoires lors de toute variation imprévue
des entrées. Il est envisageable qu'une erreur plus ou moins
énorme de configuration se répercute dans cette construction
d'une manière imprévisible.
- apparemment la lecture des fichiers de configuration
comporte des appels à des fonctions liées à la gestion des
utilisateurs, qui doit probablement fonctionner correctement
pour que cette routine marche.
- popt est utilisé pour lire les options de ligne de commande
- la lecture des fichiers de zones de temps est probablement
causée par l'appel de fonctions comme localtime, qui sont
apparemment utilisées pour déterminer si un fichier doit etre
compressé en fonction de sa durée de rétention, etc...
- la version de logrotate utilisée est assez antique. Peut-etre
une version récente serait capable de détecter et de reporter
une (éventuelle) erreur de configuration de manière plus
claire.
Bien. Comme je l'ai détaillé dans l'autre fil, je n'ai pas progressé
malgré un passage à logrotate 3.6.8 !
Quel autre voie peut-il y avoir ?
--
Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel)
GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A
- la lecture des fichiers de journal à compacter se fait dans le fichier config.c, routine readConfigFile; cette routine d'environ 600 lignes de C avec des while, if, imbriqués a gogo est un exemple de code susceptible de donner des résultats semi-aléatoires lors de toute variation imprévue des entrées. Il est envisageable qu'une erreur plus ou moins énorme de configuration se répercute dans cette construction d'une manière imprévisible. - apparemment la lecture des fichiers de configuration comporte des appels à des fonctions liées à la gestion des utilisateurs, qui doit probablement fonctionner correctement pour que cette routine marche. - popt est utilisé pour lire les options de ligne de commande - la lecture des fichiers de zones de temps est probablement causée par l'appel de fonctions comme localtime, qui sont apparemment utilisées pour déterminer si un fichier doit etre compressé en fonction de sa durée de rétention, etc... - la version de logrotate utilisée est assez antique. Peut-etre une version récente serait capable de détecter et de reporter une (éventuelle) erreur de configuration de manière plus claire. Bien. Comme je l'ai détaillé dans l'autre fil, je n'ai pas progressé
malgré un passage à logrotate 3.6.8 ! Quel autre voie peut-il y avoir ? -- Laurent Hugé (pour m'écrire, ôter PasDeSpam de l'adresse de courriel) GPG fingerprint = 3AFF A106 39D9 DB2C 885D 41C3 76DC 2C3F 01BE 5D4A