Я синхронизирую часы компутера по ntp, после этого они показывают время по GMT, т.е. на 6 часов отстают. Как это подправить. ОС - Linux RH.
В слаке это называется timeconfig, на самом деле
этот скрипт создает линку /etc/localtime на файл с вашей часовой зоной
ntp ставит все как надо - по Гринвичу :-)Вообще говоря, такого быть не должно - в arch/i386/kernel/time.c set_rtc_mmss() обновляет только минуты и секунды, остальное не трогает (по крайней мере начиная с 2.2.3, в 2.0 - не знаю). Остальное меняет только hwclock. Но результаты всего этого будут видны только при перезагрузке (Linux в ядре использует GMT). Оптимальный вариант при отсутствии винды на машине - настроить часы на GMT.
Более вероятно, что временная зона поставлена как-то криво. Что выдает "date" и "date -u"? Первое должно быть локальное, второе - GMT.
#date
Sun Mar 4 12:33:32 UTC 2001
#date -u
Sun Mar 4 12:33:34 UTC 2001В /etc/sysconfig/clock такие строки:
UTC=false
ARC=false
ZONE="Asia/Almaty"
Что и требовалось доказать - временная зона не установлена (т.е. стоит UTC). Переменная ZONE в /etc/sysconfig/clock сама по себе ни на что не влияет - используется файл /etc/localtime. Под этим именем нужно положить файл /usr/share/zoneinfo/Asia/Almaty. Тогда между "date" и "date -u" будет разница (и писать будет не UTC, а ALMT).Кстати, зона могла слететь при обновлении glibc (у меня такое было).
Спасибо!!! Так и есть, зона слетела после обновлении glibc. Исправил с помощью timeconfig.