Проблемы времени и часовых поясов на Raspberry Pi

14

У меня Raspberry Pi, который я использовал в часовом поясе EST . На нем была установлена служба NTP ( sudo apt-get install ntp), а Raspberry Pi был установлен часовой пояс UTC. Дата на Raspberry Pi была правильной, пока я не взял Raspberry Pi в Тихоокеанский часовой пояс (PT). Когда я загрузил Raspberry Pi, время UTC на Raspberry Pi было слишком далеко (отставание на 9 часов), и NTP просто не синхронизируется, чтобы получить правильное время UTC. Raspberry Pi подключен к Интернету через Ethernet.

Я пытался перезагрузить Raspberry Pi несколько раз. Также я попытался удалить службу NTP и установить OpenNTPD . Что может происходить?

Я использую Raspberry Pi 3 с Raspbian Jessie .

Ниндзя
источник
1
После того, как вы выяснили часовые пояса, убедитесь, что ваш Pi получил правильное время от
главных

Ответы:

18

Вот несколько предложений.

  1. Используйте raspi-configутилиту для сброса часового пояса, даже если вы уже использовали другой инструмент для его установки.

    sudo raspi-config
    
  2. Вручную установите время, чтобы быть несколько точным. NTP иногда не обновляется, если время / дата неверно указаны.

    sudo date -s "01/04/2017 11:00"
    
  3. Ручное принудительное обновление времени:

    sudo systemctl stop ntp.service
    sudo ntpd -gqc /etc/ntpd.conf
    sudo systemctl start ntp.service
    
  4. Убедитесь, что вы не блокируете UDP-порт 123.

Удачи!

FlippingBinary
источник
7

Во многих системах Linux часы отслеживают время в UTC . Из-за плохого учета времени в Raspberry Pi разумно установить и правильно настроить службу, чтобы помочь со временем, например ntp.

Это еще более усложняется тем фактом, что Raspberry Pi не может удерживать время в выключенном состоянии / без питания. Это означает, что когда Raspberry Pi перезапустится, его время будет не синхронизировано.

Когда вы используете такие команды, как dateзапрос времени, они учитывают ваш язык . Это означает, что dateдля определения местного времени будет использоваться смещение часового пояса от вашей локали. При вводе dateвы увидите, какой часовой пояс отображается:

date
Wed Jan  4 11:01:44 PST 2017

Если у вас неправильно настроен язык или вы используете -uфлаг, вы увидите:

date -u
Wed Jan  4 19:01:45 UTC 2017

Когда вы сравниваете время и говорите, что оно выключено на 6 часов, вы сравниваете время UTC с текущим временем UTC или вы сравниваете время UTC со временем в вашем часовом поясе?

Когда вы печатаете date, вам показывают правильный часовой пояс? Если нет, вы должны настроить это:

sudo dpkg-reconfigure tzdata # Select timezone
earthmeLon
источник
1

Я решил эту проблему, установив время вручную timedatectl, например, так:

sudo timedatectl set-time 'yyyy-mm-dd hh-mm'
Самир Патель
источник