Raspberry Pi не оновлюватиме час


12

Я придбав Raspberry Pi 3 приблизно два місяці тому, і з тих пір час ніколи не оновлювався . Деталі:

  1. Операційна система - це свіжа установка Raspbian Jessie (4.1.19-v7 +).
  2. Підключення до Інтернету здійснюється через рідний Wi-Fi і жодних інших проблем із спілкуванням.
  3. Немає проблем із брандмауером, оскільки оновлення часу працює як шарм на машині Windows у тій же локальній мережі.
  4. Часовий пояс правильно встановлений.

Я вперше почав з nptdate. Коли я спробував примусити оновити,

sudo /etc/init.d/ntp stop
sudo ntpd -q -g
sudo /etc/init.d/ntp start

термінал застиг при другій команді. Останнє повідомлення в /var/log/syslog:

Listening on routing socket on fd #22 for interface updates

/etc/ntp.conf вміст:

driftfile /var/lib/ntp/ntp.drift

statistics loopstats peerstats clockstats
filegen loopstats file loopstats type day enable
filegen peerstats file peerstats type day enable
filegen clockstats file clockstats type day enable

server 0.debian.pool.ntp.org iburst
server 1.debian.pool.ntp.org iburst
server 2.debian.pool.ntp.org iburst
server 3.debian.pool.ntp.org iburst

restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery

restrict 127.0.0.1
restrict ::1

Мені здається, що в ntpпакеті є проблема. Як встановити оновлення часу, оскільки мій Raspberry увімкнено лише протягом дня, а затримка накопичується протягом ночі?


1
Який розподіл ви використовуєте? Ці стародавні посилання не мають нічого спільного з нинішніми Raspbian. Як довго ви чекаєте після завантаження? Що ви робите для підтвердження "час не оновиться"?
Міллівейс

Це Raspbian, якщо ви це запитуєте. Незалежно від того, як довго я чекаю, він не оновлюється. Я використовую команду "date" і спостерігаю за командою годинника в кутку.
Пігмаліон

ntpdзмінився в якийсь момент за останні кілька років, щоб користувачам було важче примусити зміни. Зважаючи на те, наскільки спрощеною є його мета, це одне з найгірших розроблених, найнасиченіших програм усіх часів. Хтось повинен просто написати базову, клієнтську реалізацію для автономних систем кінцевих користувачів. Це не могло зайняти більше доби, включаючи читання RFC. Я відчуваю тебе. Я ненавиджу цю річ (за винятком того, що вона взагалі працює на мене, тому мене не турбує ...). Удачі.
золотинки

Однак, я думаю, ви можете додати більш детальне пояснення того, що саме відбувається. Він, звичайно, сильно б'ється, коли він не може підключитися до сервера, і цей матеріал буде в syslog. Подивіться sudo grep ntp /var/log/syslogчи, після завантаження, journalctl | grep ntp.
золотинки

@goldilocks sudo grep ntp /var/log/syslogповертає купу bad peer from pool x.debian.pool.ntp.orgпомилок. Після перезапуску journald | grep ntpповертає bash: journald: command not foundі sudo grep ntp /var/log/syslogповертає купу can't find host x.debian.pool.ntp.org: name or service not knownпомилок іno servers can be used, exiting
Пігмаліон

Відповіді:


6

Потрібно спробувати оновити час через USB Wi-Fi ключ. Якщо це буде добре, тоді використовуйте tcpdumpта подивіться, як обробляється пакет з обох сторін: на Raspberry Pi 3 та на Wi-Fi AP, до якого він підключається.

Наскільки я знаю, внутрішній Wi-Fi Raspberry Pi 3 використовується, щоб втрачати пакети безшумно.

Як /etc/network/interfacesмає виглядати:

# Wired adapter #1
auto eth0
    iface eth0 inet static
    address 192.168.0.3
    netmask 255.255.255.0
    gateway 192.168.0.1
    dns-servers 8.8.8.8,8.8.4.4
    post-up /usr/sbin/ntpdate -4 1.2.3.4

Не забувайте провідні простори !


Коментарі не для розширеного обговорення; ця розмова була переміщена до чату .
Ghanima

Я знайшов рішення, як "відремонтувати" ntpd на цій темі: raspberrypi.org/forums/viewtopic.php?f=28&t=141454 . Я досі не знаю, як зробити це автоматично при завантаженні RPi3.
Пігмаліон

@Pygmalion, як я вже говорив раніше, - ntpD= NTP Daemon - не потрібен для простого налаштування часу хоста ... Це покоївка для розподілу часу через мережу, тобто якщо у вас є кілька вузлів, вам це потрібно обов'язково. Але для однієї кінцевої точки часу встановлюється ntpdateінструмент. Він навіть відокремлений у самому дереві джерела ntp
Олексій Веснін


9

Я спробував декілька способів з ntp, chrony ... Нарешті виправлений наступним методом.

Виберіть дату з будь-якого відомого веб-сайту, наприклад Google, щоб встановити час роботи машини під час кожного завантаження.

  1. Відкрийте файл rc.local

    sudo nano /etc/rc.local

  2. Додайте наступний рядок до файлу rc.local

    sudo date -s "$(wget -qSO- --max-redirect=0 www.google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"

  3. Перезавантажте Rpi

    sudo reboot


Мені сподобалось рішення. Це спрацювало, але я був би задоволений рішенням ntp. Я спробував їх, але мені не вдалося пройти через це.
Varad AG

Я можу зрозуміти це відчай - це конкретність, що я теж робив у деяких випадках (дата з заголовка HTTP), але зараз я перебуваю у закритій мережі, без доступу до Інтернету та без HTTP-серверів, просто сервера NTP.
Томаш Гандор

4

Якщо встановити часовий пояс у raspi-configRaspberry Pi, автоматично оновиться час завантаження, якщо він підключений до Інтернету.

  1. sudo raspi-config
  2. Виберіть Internationalisation Options
  3. Виберіть I2 Change Timezone
  4. Виберіть географічний район
  5. Виберіть найближче місто
  6. Виберіть Finish
  7. Виберіть Yesдля перезавантаження зараз

Звичайно, я встановив часовий пояс у перший день.
Пігмаліон

1
Я також встановив часовий пояс у перший день, але нещодавно мій Пі припинив оновлювати час перезавантаження, точно так само, як і проблема. Я повторно запускався raspi-configвчора, і час кожного разу перезавантажився правильно, навіть якщо я на деякий час залишив живлення відключеним від мережі. Я пропоную спробувати? Дайте мені знати, як ви потрапляєте на ...
mwd27

Вибачте. Я зробив так, як ви запропонували, але це не вдалося.
Пігмаліон

О, це соромно. Я буду продовжувати думати ...
mwd27

3

Наступна команда обов'язково спрацює

sudo date -s"Sep 11 12:50"

1
Спасибі за вашу відповідь. Я думаю, що питання полягає в автоматичному оновленні, використовуючи NTP, і ваша відповідь, здається, стосується одноразового встановлення годинника.
Бекс

2

Я виявив, що використання наступних функціонувало як відключення через WiFi.

sudo sntp -s 0.debian.pool.ntp.prg

1

У Меню програми / Налаштування / Конфігурація Raspberry Pi я перейшов на вкладку Локалізація та вибрав значення для Встановити локальний вміст, Встановити часовий пояс та Встановити країну WiFi.

Клацнув ОК і час правильний.


1

Для мене мені довелося трохи почекати, чомусь він не встановив правильний час. Це після встановлення правильного часового поясу, включення доступу до Інтернету та перезавантаження.


Про встановлення правильного часу подивіться на те, що викликає прогалини в журналах? .
Інго
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.