ntp не будет работать на Raspberry Pi только для чтения

ntp не будет работать на Raspberry Pi только для чтения

Я пытаюсь понять, ПОЧЕМУ ntp (служба) не устанавливает правильное время на моем Raspberry Pi.

Я настроил файловую систему как доступную только для чтения, чтобы сохранить данные на SD-карте, но раньше это работало, и я не могу понять, почему ntp теперь не работает.

В логах я вижу много-много строк такого сообщения:

ntpd[415]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
ntpd[415]: kernel reports TIME_ERROR: 0x41: Clock Unsynchronized
ntpd[415]: error resolving pool 0.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 1.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 2.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 3.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 3.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 2.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 1.debian.pool.ntp.org: Temporary failure in name resolution (-3)
ntpd[415]: error resolving pool 0.debian.pool.ntp.org: Temporary failure in name resolution (-3)

Мой /etc/resolv.conf выглядит так:

# Generated by resolvconf
nameserver 8.8.8.8
nameserver 192.168.1.22

У меня есть доступ к Интернету на этом RPi, я могу пинговать адреса пула, я могу пинговать Google, я могу обновлять apt (после перемонтирования в режим чтения/записи)...

Я также могу вручную ввести команду ntpdate и ЭТО РАБОТАЕТ!

$ sudo ntpdate -u 0.fr.pool.ntp.org 1.fr.pool.ntp.org
24 Nov 23:04:34 ntpdate[578]: step time server 129.250.35.250 offset 2418.621037 sec

Так что да, я тут волосы дергаю. Не могу понять, почему не работает служба ntp. Я облазил весь интернет, похоже, ни у кого нет такой проблемы (у всех неисправный dns, но у меня работает)

Моя настройка только для чтения следующая:https://hallard.me/raspberry-pi-read-only/

Ребята, у вас есть какие-нибудь идеи?

решение1

Я нашел этот вопрос, когда столкнулся с похожей проблемой.

Проблема оказалась в том, что systemdэта PrivateTmpфункция не работает в конфигурации «только для чтения».

  1. Обязательно установите ntpиntpdate
    sudo apt install -y ntp ntpdate
    
  2. Скопировать /lib/systemd/system/ntp.serviceв/etc/systemd/system/ntp.service

    cp /lib/systemd/system/ntp.service /etc/systemd/system/ntp.service
    
  3. Откройте /etc/systemd/system/ntp.serviceи закомментируйте PrivateTmp=true.

    sudo nano /etc/systemd/system/ntp.service
    

Теперь все должно работать правильно!

В качестве дополнительного шага я также установил, /var/lib/ntpкак tmpfsрекомендованоздесь

  1. Открыть /etc/fstabи добавить tmpfs /var/lib/ntp tmpfs nosuid,nodev 0 0в конец файла.
    sudo nano /etc/fstab
    

В моем случае это не показалось необходимым, но там есть дополнительные сведения о работе в файловой системе, доступной только для чтения.

решение2

Ответ Марка Роджераработает, однако я думаю, что лучше переопределить пользователь:

echo -e '[Service]\nPrivateTmp=false' > /etc/systemd/system/ntp.service.d/override.conf

Затем перезагрузите компьютер или, возможно, systemctl daemon-reloadэтого будет достаточно.

Связанный контент