NTP хорошо держит ваш компьютер в нужное время и делает это, даже не запуская его задом наперед, что было бы плохо для некоторых программ, которые вы могли запускать.
Он не только устанавливает время, но и непрерывно регулирует, как ваш компьютер хранит время, так что его время не только точно в один момент времени, но и близко к реальному времени (в течение десятков миллисекунд, а не десятков минут) , Он регулирует как фазу (время), так и частоту (как быстро «тикают» часы). NTP никогда не заставляет часы бежать назад. Чтобы определить, как быстро тикают часы после перезагрузки, может потребоваться много времени, поэтому ntp отслеживает дрейф в файле /var/lib/ntp/ntp.drift. Так как вы не запускаете ntp, ничего этого не происходит.
NTP не так популярен, как когда-то, потому что спящие ноутбуки и рабочие столы, а виртуальные машины иногда не позволяют ему работать. Он предназначен для запуска время от времени по собственному расписанию на компьютере, который работает постоянно, и в реальном мире, где время непрерывно. Вероятно, поэтому он не установлен по умолчанию на современной рабочей станции. [Для Vmware, посмотрите это]
Вместо этого ntpdate запускается при включении сетевого интерфейса. Когда спящий ноутбук пробуждается, он восстанавливает сетевое соединение, ntpdate запускается, и время снова корректно. Если аппаратные часы машины достаточно точны, и сеть довольно часто включается и выключается, этого обычно достаточно для большинства людей.
По какой-то причине фондовый ntpdate не всегда запускается. Вместо этого используйте ntpdate-debian . Синтаксис для for.mer выглядит примерно так: ntpdate ntp.ubuntu.com , для последнего - ntpdate-debian
При отсутствии одной из этих вещей ntp - лучший способ сэкономить время.
Системы разработаны так, чтобы принимать прерывания по таймеру очень часто и обновлять свое представление о времени при каждом прерывании. Пока аппаратный таймер работает по спец. время не слишком дрейфует. Если аппаратный таймер не работает, время будет дрейфовать больше (все такие часы будут дрейфовать некоторые, по той же причине, по которой будут работать ваши наручные часы или часы с батарейным питанием. Часы, подключенные к стене, синхронизируются с временем по частоте и фазе, поддерживаемым ваша энергетическая компания).
Большинство компьютерных таймеров управляются кварцевым генератором на его интегральных схемах. Несмотря на кристаллы, они работают быстрее и медленнее в зависимости от окружающей среды, в основном от температуры. Если у вас не установлено какое-то программное обеспечение для синхронизации времени, о котором мы не знаем, я бы сказал, что часы вашей системы не работают.
Если вы будете запускать ntp в течение дня или двух, он будет хранить информацию в /var/lib/ntp/ntp.drift, которая будет указывать, насколько сильно он должен будет отрегулировать скорость, с которой время вашей операционной системы увеличивается для каждого прерывания, чтобы сопоставьте частоту аппаратных часов с реальным временем в интернете. Сохранение файла таким же и просто запуск и остановка ntp через минуту после этого (при условии, что вы оставите файл /var/lib/ntp/ntp.drift без изменений) может многое исправить, если после установки ntp смещения тактовой частоты остается после NTP заканчивается. Я не уверен в этой детали.
Я подозреваю, что значение, которое ntp будет хранить в /var/lib/ntp/ntp.drift, сильно отличается от моего.
Однако, если эта машина постоянно работает, то лучше всего установить ntp и позволить ему делать свое дело. Посмотрите другие ответы для получения подробной информации о том, как правильно определить время до его начала. Я запускаю ntp на моем рабочем столе и ntpdate на моем ноутбуке.
Интересная возможная альтернатива, adjtimex, упоминается в этом ответе nealmcb.
Если ваша система не работает постоянно, запуск ntpdate во время загрузки кажется хорошим вариантом.
Предупреждение, что некоторые программы могут испортиться, если время компьютеров уходит в прошлое. Запуск ntpdate после загрузки может привести к этому.
Одна проблема, это может быть проблемой: насколько я помню, ntp ожидает, что время не будет слишком далеко. Если это так, пытаясь действовать консервативно, ntp вообще не будет корректировать время. Если вы находитесь в такой ситуации, имеет смысл сделать и то и другое - запустите ntpdate при загрузке, чтобы инициализировать время в нужное время, а затем позвольте запуску ntp, чтобы он работал, чтобы обеспечить точное хронометраж. В частности, неисправная батарея материнской платы может вызвать эту ошибку, как и загрузка компьютера, который был выключен в течение длительного времени.