Я использую Raspbian Jessie и хочу настроить синхронизацию времени.
Вот что я сделал:
включено systemd-timesyncd
timedatectl set-ntp true
включено systemd-networkd
systemctl enable systemd-networkd.service
systemctl enable systemd-resolved.service
поместить локальные серверы в timesyncd.conf
и создал /etc/systemd/network/wireless.network
[Match]
Name=wlan0
[Network]
DHCP=ipv4
Кажется, это timesyncd
работает, но с ошибкой. Команда
sudo grep time /var/log/syslog
возвращает кучу ошибок
May 16 22:11:36 raspberrypi systemd-timesyncd[3023]: Timed out waiting for reply from 193.2.78.228:123 (0.si.pool.ntp.org).
С другой стороны команда
systemctl status systemd-timesyncd systemd-networkd
возвращается
�� systemd-timesyncd.service - Network Time Synchronization
Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled)
Active: active (running) since Mon 2016-05-16 21:47:11 CEST; 31min ago
Docs: man:systemd-timesyncd.service(8)
Main PID: 3023 (systemd-timesyn)
Status: "Idle."
CGroup: /system.slice/systemd-timesyncd.service
������3023 /lib/systemd/systemd-timesyncd
�� systemd-networkd.service - Network Service
Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled)
Active: active (running) since Mon 2016-05-16 11:36:41 CEST; 10h ago
Docs: man:systemd-networkd.service(8)
Main PID: 1666 (systemd-network)
Status: "Processing requests..."
CGroup: /system.slice/systemd-networkd.service
������1666 /lib/systemd/systemd-networkd
Ответ на networkd
это всегда Processing requests...
, что мне кажется подозрительным.
Я потерял не менее 30 часов своей жизни на эту простую проблему синхронизации времени. До этого я пытался использовать (безуспешно) ntpdate
(видеть). Для теста я установил синхронизацию времени для Windows в той же локальной сети, используя те же самые серверы NTP. Мне потребовалось 3 минуты, и все работает как часы. Вот и все о том, что Linux — хорошая альтернатива Windows для личного пользования.
Помогите мне, пожалуйста, я почти потеряла всякую надежду. Не знаю, что делать дальше...
решение1
Попробуйте это. Если существует файл localtime:
mv /etc/localtime /etc/localtime_old
ln -s /usr/share/zoneinfo/Europe/Ljubljana /etc/localtime
поместить серверы в timesyncd.conf
:
server 1.si.pool.ntp.org
server 1.europe.pool.ntp.org
server 0.europe.pool.ntp.org
и
systemctl restart systemd-networkd
Проверьте, работает ли это.
Другая идея:
Может быть timesyncd запускается после networkd и затем ждет изменений. Все, что вам нужно сделать, это
systemctl restart systemd-networkd
Если это сработает, попробуйте создать скрипт, запускаемый во время процесса загрузки.
#!/usr/bin/bash
sleep 20
systemctl restart systemd-networkd