Вводная:
Инсталлирована openSUSE 11.2, при инсталляции было выбрано хранение времени в аппаратных часах в localtime (были на то свои причины).
Решил перевести аппаратные часы в UTC и обнаружил, что системное время после пары перезагрузок "уплыло" бог знает куда.
Как я себе представлял схему работы (в предыдущих версиях openSUSE оно именно так и работало) при аппаратных часах, настроенных на UTC - если я ошибаюсь, то поправьте:
- при загрузке некий init-скрипт (сейчас это /etc/init.d/boot.clock) читает аппаратное время и с помощью утилиты hwclock устанавливает системное время на основе аппаратного времени + часовой пояс (timezone) - путем выполнения hwclock с параметрами -u и --hctosys
- при завершении работы тот же init-скрипт делает обратную процедуру: читает системное время, текущую таймзону, и с помощью hwclock пишет в аппаратные часы текущее время в UTС - путем выполнения hwclock с параметрами -u и --systohc
Так вот, обнаружилось, что скрипт /etc/init.d/boot.clock делает второе (при заврешении работы системы), но НЕ делает перове (при старте).
Запуск hwclock с параметром --hctosys был обнаружен только в одной секции - когда скрипт вызывается с параметром "timezone"
В секции, которая выполняется при запуске скрипта с параметрами "start, restart, reload" - такого вызова вообще нет.
Что, собственно, и приводит к проблеме: при выключении всё срабатывает как надо, аппаратные часы ставятся в UTC с разницей от системных в -3 часа.
При старте же системы - системные ставятся равными аппаратным.
Таким образом, системное время (а следом за ним и аппаратное) при каждой перезагрузке уезжает на три часа назад.
Хотелось бы выяснить - это только у меня так или у других тоже?
Не могли бы вы, укажаемые коллеги, привести сюда вывод вот такой команды из системы openSUSE 11.2 ?
Код: Выделить всё
grep hctosys /etc/init.d/boot.clock
Буду крайне признателен.
P.S.
Кстати, поиском не нашел такого зарегистрированного бага.
Либо я не там и не так искал, либо я первый кто на это напоролся.