Железо: Cel-430/ASUS P5B-VM/2Gb DDR2/250Gb+160Gb/FDD/DVD-RW/
Система: 2008.1LAR, KDE
Ситуация: отстают часы примерно на одну минуту в час (когда чуть больше, иногда чуть меньше), причем только тогда когда комп работает. Утром комп включаю -> часы идут правильно после вечерней правки - работаем, аптайм 13 часов, часы отстали на 15 минут -> исправляем/выставляем правильное время -> выключаем комп -> проходит ночь -> Утром комп включаю -> часы идут правильно после вечерней правки
Батарейку на матери менял. С какого момента начался сей глюк - не обратил внимания.
Как привести систему в чувство, чтоб часы шли правильно / значения брались из БИОСа?
Синхронизацию через инет не предлагать.
Поиск ничего конкретного не дал
Флюгер был приколочен намертво - и ветер обречённо дул в указанном направлении.
установите пакет adjtimex.
потом
$ man 8 adjtimex
удачи!
p.s. у меня, вообще-то, ntpd работает. поставил для пробы adjtimex. в debian он при установке сразу же пытается сопоставить rtc и системное время. и сразу же вносит коррективы в ядрёные константы. время, конечно же, сразу уехало. далеко. и с ускорением. так что лучше не делать коктейля (ntpd + adjtimex). или подождать несколько суток/недель/месяцев, пока они (надеюсь) придут к консенсусу.
Столкнулся недавно с чем-то похожим, правда, подзабыл, в какую сторону системные часы врали. Кажется, спешили.
Вобщем, как-то решил проблему так:
1. Выставил время по ручным часам
2. Сделал ntpdate бла-бла && hwclock --systohc
3. Снёс нафиг /etc/adjtime
Перегрузил систему. Сейчас разница между железными и системными часами не больше минуты, а на самом деле меньше - секунды/доли секунды. Правда, при каждом подключению по ppp0 работет ntpdate. И, как я понял, поправляет /etc/adjtime(?)
P.S.
Если в условия задачи входит параметр "Синхронизацию через инет не предлагать", то я бы попробовал сделать так:
1. Максимально точно выставил системные часы
2. Скомандовал hwclock --systohc
3. Убил /etc/adjtime (если таковой присутствует в системе, если нет - см. пост уважаемого sash-kan. Как я понял, наличие этого файла позволяет относительно жёстко зафиксировать разницу между железными и системными часами и не выходить за её пределы, но точности самих этих часов не гарантирует, соответственно. Если не прав - поправляйте меня.)
4. Перегрузил систему
5. Посмотрел бы с правами root'a на вывод команд date; date -u; hwclock --show на предмет отсутствия наличия больших расхождений.
Ну и вообще попробовал бы разобраться, как Linux работает с временем.
сложно работает.
adjtimex может корректировать текущие ядрёные переменные, отвечающие за время.
наиболее существенная (и грубая) переменная — tick:
$ sudo adjtimex --tick 10000
более тонкая — frequency.
эт если ручками. но, вроде как и автоматом должно бы работать:
$ sudo adjtimex --compare