Как заставить Ubuntu использовать внутренние часы BIOS вместо NTP или что-то еще, что оно используется?

7

В часах Ubuntu не работает синхронизация, что не происходит в Windows. Проблема в том, что он просто начинает терять время после момента синхронизации с сервером NTP, что означает, что часы нарушены.

Итак, как я могу заставить систему использовать аппаратные часы вместо этого (я попробовал adjtimex).

Кстати: пожалуйста, не предлагайте батарею CMOS, это не правильный ответ.

    
задан Reda Lazri 19.03.2011 в 15:12
источник

3 ответа

3

По умолчанию Ubuntu устанавливает время, когда появляется сетевой интерфейс. Он делает это с небольшой частью системы «ntp»: ntpdate. Если ваша машина остается подключенной и работает в течение нескольких дней или недель, даже лучшие внутренние часы в конечном итоге выходят из строя.
Ubuntu также не пытается настроить внутренние часы по умолчанию, и похоже, что ваши часы плохо настроены. Часы реального времени (аппаратные часы) в большинстве систем также не очень хороши в долгосрочной перспективе.

Итак, если вам нужно лучшее время, я могу порекомендовать два варианта:

  • Установите полный пакет «ntp», чтобы получить протокол сетевого времени, который регулярно смотрит на серверы времени в Интернете и сохраняет ваши часы в миллисекундах в нужное время. См. Некоторые хорошие инструкции здесь: Установить NTP .... Вы также можете установить его из Ubuntu Software Center. Это легко и, как правило, довольно безупречно, если ваша машина обычно находится в Интернете и не имеет действительно неприятных межсетевых экранов, отключая ntp.

  • Вручную отрегулируйте частоту ваших внутренних часов, используя пакет adjtimex. Фактически, когда вы устанавливаете adjtimex, он запускает adjtimexconfig, который устанавливает значения в / etc / default / adjtimex. Но он делает это быстро, используя аппаратные часы, и, по моему опыту, результаты обычно находятся где-то между плохими и ужасными. Некоторым машинам сложно настроить, но мне повезло с большинством моих машин, выполнив ручной расчет, необходимый для определения правильных значений FREQ и TICK для ввода / etc / default / adjtimex. Чтобы пройти этот маршрут, начните с установки adjtimex через Application / Ubuntu Software Center. Чтобы выяснить настройки вручную для FREQ и TICK, см. Хороший калькулятор в Настройка с помощью adjtimex как альтернатива запуску ntpd . Эта страница также отмечает, что ваш выбор «clocksource» может повлиять на точность ваших часов. Hpet (таймер с высокой точностью) кажется более точным, чем tsc (счетчик штампов времени).

Есть советы по работе с другими глюками на UbuntuTime - Help.ubuntu.com

    
ответ дан nealmcb 30.04.2011 в 22:03
источник
3

Я не уверен, что все работает так, как вы описываете. I.e, нет «программного» тактового процесса / приложения, которое либо использует часы BIOS, либо ntp-сервер и может быть «сломан» в Ubuntu, но работает в Windows. В любом случае информация, которую вы видите на экране, поступает из часов BIOS.

Если NTP-сервер включен, данные, поступающие от него, используются для настройки BIOS / аппаратных часов, и, когда аппаратные часы считаются «неправильными», демон NTP настраивает время постепенно с небольшими приращениями вместо того, чтобы устанавливать его сразу. Это делается для того, чтобы избежать внезапных «прыжков» в системное время, что может вызвать всевозможные проблемы (например, событие, которое происходит после после другого события, но в ранее ).

Что прекрасно объясняет поведение, которое вы видите - как только «правильные» данные поступают с сервера NTP, демон начинает постепенно корректировать ваше системное время.

Я думаю, что ваш часовой пояс / летнее время может быть установлен неверно. Другая возможность может заключаться в том, что Ubuntu ожидает, что часы BIOS будут установлены на время UTC, в то время как Windows устанавливает часы в вашем локальном часовом поясе, что приводит к тому, что Ubuntu думает, что ваши системные часы опозданы / раннее по вашему GMT смещению

Этот документ может быть полезным: Ссылка

    
ответ дан Sergey 19.04.2011 в 06:36
0

Перейдите в систему / настройки / время и дату, затем откройте настройки, нажав на маленький замок.

Измените конфигурацию на «вручную» (это по умолчанию, если вы не установили NTP), а затем вручную обновите системное время до того, что вам нужно.

    
ответ дан Scaine 19.03.2011 в 20:00