[Comm] Опять системное время и таймзона.

Sergey a_s_y на sama.ru
Вт Июн 16 11:39:31 MSK 2015


On Monday 25 May 2015, Sergey wrote:

> May 25 15:13:11 kernel: Kernel log daemon terminating.
> May 25 15:13:12 klogd: klogd shutdown succeeded
> May 25 15:13:13 exiting on signal 15
> May 25 19:14:31 syslogd 1.4.1: restart.
> May 25 19:14:31 syslogd: syslogd startup succeeded
 
В общем, это колдунство обнаружилось в районе опций hwclock и

 -u, --utc            the hardware clock is kept in UTC
     --localtime      the hardware clock is kept in local time

и, как следствие /etc/adjtime, который формируется при их
использовании. 

# date
Tue Jun 16 11:30:51 SAMT 2015
# /sbin/hwclock --systohc --localtime
# rm -f /etc/adjtime
# /sbin/hwclock -r
Tue Jun 16 15:31:22 2015  -0.004740 seconds

То есть, с опцией --localtime время в RTC выставилось на +4
от локального, то есть, на саму величину смещения локального
от UTC (у меня SAMT - оно +4).

С опцией --utc в RTC попадает локальное время, а, вовсе, не UTC:

# /sbin/hwclock --systohc --utc
# rm -f /etc/adjtime
# /sbin/hwclock -r
Tue Jun 16 11:33:52 2015  -0.213865 seconds

Далее, вопрос установки времени переходит к /etc/sysconfig/clock,
к параметру HWCLOCK_SET_TIME_AT_START. Если значение true, то 
системное время выставляется на минус смещение таймзоны от RTC.
То есть, если в RTC локальное время, то системное будет UTC, а
если в RTC двойное смещение по таймзоне, то системное будет локальным.

Спрашивается: а зачем и где тут логика !? 

Итого, чтобы время было правильным после загрузки, надо выполнить
одно из двух.

Вариант 1 (в RTC двойное смещение по таймзоне):
/sbin/hwclock --systohc --localtime
sed "s/^HWCLOCK_SET_TIME_AT_START.*/HWCLOCK_SET_TIME_AT_START=true/" -i /etc/sysconfig/clock

Вариант 2 (в RTC localtime):
/sbin/hwclock --systohc --utc
sed "s/^HWCLOCK_SET_TIME_AT_START.*/HWCLOCK_SET_TIME_AT_START=false/" -i /etc/sysconfig/clock

Остальные значения параметров с /etc/sysconfig/clock, в этом
эксперименте, всегда были такие:

HWCLOCK_SET_AT_HALT=false
HWCLOCK_ADJUST=false
UTC=false
ZONE=Europe/Samara

-- 
С уважением, Сергей.


Подробная информация о списке рассылки community