Звідки береться Малина Пі?


44

Мені не потрібно встановлювати годинник (крім часового поясу) на Raspberry Pi. Звідки це час? Про те, наскільки це точно?


Свіжі встановлення дозволяють йому забрати час з різних джерел. Для отримання додаткової інформації, а також з причини того, чому ви повинні змінити його на time.nist.gov см це Q & A: raspberrypi.stackexchange.com/questions/68811 / ...
SDsolar

Відповіді:


45

Raspbian отримує час від сервера NTP ("сервера часу").

Відключіть ваш Raspberry Pi повністю, вийміть мережевий кабель і запустіть Raspberry Pi знову. Ви побачите, що дата та час невірні.

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

ОНОВЛЕННЯ Лише збоку зауважте, що вищезгаданий годинник RTC - не єдиний спосіб точного часу між втратами живлення. Ви також можете використовувати GPS-модуль і підключити його до штифтів GPIO.

Точність Це досить точно, хоча якщо час у вас відключений зовсім небагато. Щоб виправити себе, може знадобитися до 3 годин, оскільки зміни з боку сервера поступово застосовуються до вашого локального годинника. Стабільність мережі має найбільший вплив на точність, оскільки непередбачувана мережа (щось більш бездротове, наприклад 3G ) зробить її дуже важкою для точності. Простіше кажучи: точність досить хороша, різниця в часі між вашим комп'ютером і фактичним часом (від сервера NTP) зазвичай менше 100 мс .


1
приємна відповідь. дякую за посилання про апаратний годинник
Scoop

1
Гарна відповідь; це можна було б покращити, зазначивши точність протоколу NTP.
Алекс Чемберлен

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

Хоча мій Pi підключений до мережі, я зауважую, що час змінився на 30 хвилин. Чи ввімкнено ntpd за замовчуванням чи мені це потрібно зробити вручну?
andig

Можливо, до Raspberry Pi 3. Я купував два місяці тому, і оновлення часу NTP не накручується, ну, принаймні, на офіційному Raspbian Jessie. Я відкрив три теми з цією проблемою, і всі безглузді. Мені довелося придбати апаратний модуль для зберігання часу, щоб вирішити проблему.
Пігмаліон

21

Відповідь Моргана дала мені підказку, яка мені потрібна для вирішення проблеми.

  1. Перейдіть на сторінку http://support.ntp.org/bin/view/Servers/NTPPoolServers
    Виберіть свій регіон, тоді буде відображено вашу країну та список серверів.

  2. Редагуйте файл /etc/ntp.conf, наприклад

    sudo vim /etc/ntp.conf

    Замініть список серверів на той, який ви знайшли на веб-сторінці. напр

    сервер 0.dk.pool.ntp.org iburst
    сервер 1.dk.pool.ntp.org iburst
    сервер 2.dk.pool.ntp.org iburst
    сервер 3.dk.pool.ntp.org iburst

    Збережіть і вийдіть.

  3. Перезапустіть ntp deamon.

    sudo /etc/init.d/ntp перезапустити

  4. перевірте правильність дати.

    дата
    Чт 20 червня 13:39:20 CEST 2013

На одному з моїх серверів дата була негайно змінена. В іншому мені довелося почекати пару хвилин.


2
Якщо ви перебуваєте у Великобританії (або іншій країні), ви можете просто змінити двобуквенний код країни на .eg server 0.uk.pool.ntp.org iburst
П'єрз

Крок 4 не працював для мене приблизно через 15 хвилин. А може тому, що я бігав ntpq -p. Я використовую: "Raspbian GNU / Linux 7 (wheezy)" та "Linux raspberrypi 4.1.7+ # 817 PREEMPT Сб 19 вересня 15:25:36 BST 2015 armv6l GNU / Linux"
Peter Mortensen

Можливо, hwclockабо fake-hwclockзаважає (але частина "/etc/rc.conf" застаріла)
Пітер Мортенсен


А після 5-хвилинного відключення було відставати на 5 хвилин ( ntpq -pне змінилося).
Пітер Мортенсен

14

Якщо у вас є fake-hwclockпакет , він також зробить фокус збереження часових позначок, щоб запобігти скидання годинника. Це не заздалегідь запустить час вимкнення пристрою, тому він відставатиме. Внутрішній годинник також переміститься невеликим шматочком під час увімкнення.

Якщо у вас є підключення до Інтернету (або lan з сервером) і запущено ntp (ntpd / ntpdate), ви можете отримати час по мережі, як вказують інші відповіді. При синхронізації це дійсно досить точно. Інтернет-сервери також дадуть вам консенсус «світовий час».


цікаво о fake-hwclock. Чому хтось хоче заморозити годинник, коли машина вимкнена? Я не можу придумати для цього випадок використання. Є там?
Scoop

2
@Scoop Оскільки альтернатива забуває час, то вона буде скинута. Це спричинить появу будь-яких записаних часових позначок з майбутнього і т. Д. "Замерзання" годинника гарантує, що час продовжує рухатися вперед, навіть якщо відлік відключений :)
XTL

1
Маючи ntp або інший спосіб встановити годинник, звичайно, все одно буде працювати, а підроблений годинник працює лише при завантаженні та відключенні.
XTL

1
для fake-hwclockArch Linux використовуйте archplusplus.co.uk/post/40202081414/…
levinalex

2
Цей пакет зараз, здається, зараз встановлений за замовчуванням на Raspbian.
П’єрз

11

Raspberry Pi не має інтегрованого годинника в реальному часі (RTC) для економічності: див. Питання "Чому немає годин реального часу (RTC)?" в офіційному FAQ . Це означає, що при відключенні Raspberry Pi він втрачає час. Коли ви повертаєте його назад, час ініціалізується на 1 січня 1970 року (він же епоха Unix ).

Raspberry Pi встановлює свій час по мережі за допомогою NTP , протоколу синхронізації годин між комп'ютерами. Цей протокол широко використовується в Інтернеті, щоб переконатися, що комп'ютери мають однаковий час і є надійними, оскільки деякі машини присвячені обчисленню часу за допомогою атомних годин .

ntpdце демон (програмне забезпечення у фоновому режимі) запустив час завантаження, і він відповідає за синхронізацію часу за допомогою протоколу NTP. ntpdможна налаштувати з файлом /etc/ntp.conf. Наприклад, саме тут ви можете встановити сервери на запит часу.


Хіба це не пам'ятає востаннє? Я закрив Raspberry Pi тиждень тому і dateтепер показує, що тижневі дати плюс, я думаю, кілька додаткових годин від часу продовження роботи вчора та сьогодні (після деяких перезавантажень вчора та сьогодні). (Raspbian, відповідна середині 2015 року).
Пітер Мортенсен

Запустіть, cat /etc/fake-hwclock.dataі ви побачите, коли останній час fake-hwclockекономили час (очевидно, під час відключення). fake-hwclockвикористовується на RPi, щоб імітувати справжній годинник. Я думаю, ви завантажили RPI без доступу до Інтернету чи не ntpdпочали оновлювати час. Ви можете це підтвердити?
Морган Курбе

5

Raspbian Stretch: NTP не встановлено за замовчуванням

Здається, що з Raspbian Stretch трохи змінилися. Словом, ntp більше не встановлюється. Біг dpkg -l | grep ntpне повертає нічого.

Мабуть, Stretch відмовився від ntpпрограми на користь systemd. Перевірте man timesyncdінформацію про параметри налаштувань конфігурації. timesyncdдосі використовує ntp-сервери для оновлення часу. Якщо ви хочете налаштувати ці сервери вручну, це можна зробити у /etc/systemd/timesyncd.confфайлі.


1
Виконуючи редагування, перезапустіть службу до sudo systemctl restart timesyncdі після цього перевіряйте журнали, journalctl -u timesyncd -fіноді корпоративні брандмауери блокують порт. У таких випадках використовуйте надану корпоративну URL-адресу сервера ntp.
typelogic

Я вважаю, що правильна назва демона systemd-timesyncd, так що команда перезапустити будеsystemctl restart systemd-timesyncd
chb

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