Bug 28895

Summary: Неверное время в логах
Product: Sisyphus Reporter: stalker <stalker>
Component: syslog-ngAssignee: Konstantin A Lepikhov (L.A. Kostis) <lakostis>
Status: CLOSED FIXED QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: asy, cas, lakostis, ldv, mike
Version: unstable   
Hardware: all   
OS: Linux   

Description stalker 2013-04-24 16:25:42 MSK
В initrd отсутствует /etc/localtime.
Не красиво и иной раз даже неудобно я бы сказал.
Comment 1 Alexey Gladkov 2013-04-24 16:59:04 MSK
Расскажите, зачем он вам там ?
Comment 2 stalker 2013-04-24 17:00:30 MSK
(В ответ на комментарий №1)
> Расскажите, зачем он вам там ?

http://lists.altlinux.org/pipermail/community/2013-April/679193.html
Comment 3 Alexey Gladkov 2013-05-26 21:50:57 MSK
Я не очень понял, вы предлагаете добавить в make-initrd функционал /etc/init.d/clock ?

Как присутствие /etc/localtime в initrd может кому-то помочь ?
Comment 4 stalker 2013-05-26 22:07:10 MSK
(В ответ на комментарий №3)
> Я не очень понял, вы предлагаете добавить в make-initrd функционал
> /etc/init.d/clock ?
> Как присутствие /etc/localtime в initrd может кому-то помочь ?
если руками добавить -то в сислоге время оказывается верно. По кр мере с syslog-ng
Comment 5 Michael Shigorin 2013-05-27 15:31:28 MSK
2 stalker: предложи рецепт воспроизведения проблемы, которая исчезает после добавления localtime -- я что-то сходу тоже не пойму, о чём именно баг.
Comment 6 Andrey Cherepanov 2013-05-27 16:35:52 MSK
Я вот воспроизвести не могу. C syslogd-1.4.1-alt30 работает как и положено, показывая локальное время и без скакания времени.
А вот с syslog-ng действительно проблемы. И они зависят не от make-initrd, это внутренняя ошибка syslog-ng.
Comment 7 Michael Shigorin 2013-05-27 22:27:00 MSK
Как ещё один вариант, можно проверить с rsyslog.
Comment 8 Konstantin A Lepikhov (L.A. Kostis) 2013-08-16 00:43:07 MSK
Так что там с syslog-ng? Можно воспроизвести с новой версией?
Comment 9 Sergey Y. Afonin 2013-09-02 11:41:26 MSK
(In reply to comment #2)

> > Расскажите, зачем он вам там ?
> 
> http://lists.altlinux.org/pipermail/community/2013-April/679193.html

Я же там написал, что лечится заменой unix-dgram ("/var/lib/klogd/dev/log") на file("/proc/kmsg"). Кстати, на сколько смотрю, это не сделано при закрытии bug 28871, хотя я там про это писал, в третьем комментарии.
Comment 10 Sergey Y. Afonin 2013-09-02 13:13:13 MSK
(In reply to comment #9)

> Кстати, на сколько смотрю, это не сделано при закрытии bug 28871

Хотя, это я по логу посмотрел, а в конфиге /proc/kmsg уже упоминается:

source sys {
    file ("/proc/kmsg" program_override("kernel") flags(kernel));
    unix-dgram ("/dev/log"); unix-dgram ("/var/lib/klogd/dev/log");
    internal();
};

В общем, с этим вариантом что-то странное. К примеру, у меня загружены модули ipt_netflow и netconsole. Вот что происходит:

Sep  2 09:03:24 kernel: [1631536.835193] ipt_NETFLOW: forced flush
Sep  2 13:03:42 kernel: [1631555.344127] netconsole: network logging stopped on interface eth0 as it unregistered
Sep  2 13:03:47 kernel: [1631560.434731] netpoll: netconsole: local port 54321

То есть, связанное с ipt_NETFLOW пишется в GMT, а с netconsole - нормально. Если "unix-dgram ("/var/lib/klogd/dev/log");" убрать совсем, записи про ipt_NETFLOW тоже с локальным временем писаться начинают.
Comment 11 Sergey Y. Afonin 2013-09-02 17:33:33 MSK
Всё ещё "смешнее". В варианте без "unix-dgram ("/var/lib/klogd/dev/log");" некоторые сообщения от ядра просто теряются. А, при наличии в source и /proc/kmsg, и /var/lib/klogd/dev/log, проходящее через /proc/kmsg попадает с нормальным временем, а что теряется в /proc/kmsg, попадает через dev/log уже с GMT. Интересно, почему через /proc/kmsg одинаковые сообщения попадают не всегда... Если, вдруг, ядро, то это с сизифным 3.10.6-std-def-alt1.
Comment 12 Sergey Y. Afonin 2013-09-02 17:52:53 MSK
Так... Я же написал сам: "А лечится отключением klogd...". Это он, зараза, из /proc/kmsg сообщения выгребал "на скорость". :-)

Со временем в сборке 3.4.3-alt1.git20130813 всё в порядке, надо только klogd отключать не забывать. А /etc/localtime в initrd, очевидно, не то, что надо.