РЕАЛЬНОЕ ВРЕМЯ: 16:06
router@router:~$ sudo hwclock
*Sat 09 Jan 2016 04:06:55*
[16:00 является фактическим временем]
router@router:~$ date
*Sat Jan 9 1:06:44 NPT 2016*
[но человечность показывает время 13:00]
но как только я соединяю свой Интернет:
router@router:~$ date
*Sat Jan 9 16:06:44 NPT 2016*
[13:00 исправляет к 16:00 только, когда я соединяю Интернет.... еще выигранный; t]
как синхронизировать время времени с hwclock???
hwclock не знает часовых поясов и летнего времени, и разные ОС по-разному справляются с этим. Поскольку старая DOS не знала никаких других часов, кроме RTC / hwclock, она была установлена по местному времени. Я думаю, что это все еще по умолчанию для всех текущих систем Windows. По умолчанию в (большинстве?) Системах на основе Linux ожидается, что hwclock будет установлен в UTC.
Поскольку системы могут загружать несколько разных ОС, Linux не может требовать, чтобы hwclock находился в UTC. Для этого у него есть параметр для настройки времени от hwclock до kernelclock / UTC, если аппаратный час работает по местному времени. Программы обычно хотят показывать вам местное время, поэтому есть другой параметр для настройки часового пояса и перехода на летнее время.
Похоже, что в вашей системе есть несоответствие между вашим часами, коррекцией UTC и часовым поясом / летним временем.
Вы можете увидеть, что ваш hwclock работает с timedatectl
, он покажет вам все данные, которые вы хотите:
Local time: za 2016-01-09 17:46:05 CET
Universal time: za 2016-01-09 16:46:05 UTC
RTC time: za 2016-01-09 16:46:05
Time zone: Europe/Amsterdam (CET, +0100)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
Если я изменю свой hwclock на:
Local time: za 2016-01-09 17:52:10 CET
Universal time: za 2016-01-09 16:52:10 UTC
RTC time: za 2016-01-09 17:52:10
Time zone: Europe/Amsterdam (CET, +0100)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
и перезапустите *
, hwclock будет использоваться для установки начального времени ядра. Hwclock выдаст мне 17:52 после перезапуска, а дата покажет мне неправильное местное время 18:52. После связи с ntp-сервером он корректирует время ядра, и вы снова увидите правильное время с датой.
*
Некоторые дистрибутивы Linux в настоящее время устанавливают hwclock из системного времени при выключении, поэтому hwclock может быть настроен на UTC после перезапуска.