Linux mini-HOWTO

Основные способы для Linux - часть 2


Это "достоинство/недостаток" ведет себя по-разному в разных версиях ядра (возможно, и в различных версиях xntpd и ntpd), поэтому, если вы используете ntpd

совместно с hwclock, то вам, очевидно, потребуется проверить свою систему для того, чтобы узнать в точности, что происходит. Если у вас нет возможности предотвратить коррекцию ЧРВ ядром, то вам лучше работать с нулевой величиной коррекции.

Исходный текст части ядра, который управляет этим процессом, находится в файле /usr/src/linux-номер_версии/arch/i386/kernel/time.c (где номер_версии - это версия вашего ядра). Если переменная time_status

установлена на TIME_OK , то ядро будет копировать системное время в ЧРВ каждые 11 минут, иначе ядро не корректирует ЧРВ. Эту процедуру можно также выполнить при помощи adjtimex(2) (это делается, например, в ntpd и timed). Обращение к settimeofday(2) установит time_status в TIME_UNSYNC; в результате этого, ядро не будет корректировать ЧРВ. Я не нашел документации по этому вопросу.

Если вам требуется точность в доли секунды, вам потребуется лишь hwclock(8)

и adjtimex(8). В принципе, можно легко установить часы по сети, но я использую старую программу clock(8) и она меня еще ни разу не подводила. С другой стороны, если у вас есть несколько машин в локальной сети, то было бы сподручнее синхронизировать их друг с другом.




Начало  Назад  Вперед



Книжный магазин