Запуск systemd-timesyncd.service завершился неудачно

8350
patryk.beza

Я пытаюсь запустить systemd-timesyncd.serviceслужбу, но это не удается:

root@xxxx:~# systemctl start systemd-timesyncd.service root@xxxx:~# systemctl status systemd-timesyncd.service ● systemd-timesyncd.service - Network Time Synchronization Loaded: loaded (/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled) Drop-In: /lib/systemd/system/systemd-timesyncd.service.d └─disable-with-time-daemon.conf Active: inactive (dead) Condition: start condition failed at pią 2015-07-10 15:17:56 CEST; 1s ago ConditionFileIsExecutable=!/usr/sbin/ntpd was not met Docs: man:systemd-timesyncd.service(8) 

Что это значит: ConditionFileIsExecutable=!/usr/sbin/ntpd was not met?
Это сообщение предполагает отсутствие разрешения на выполнение, но это не так:

root@xxxx:~# ls -l /usr/sbin/ntpd -rwxr-xr-x 1 root root 549648 kwi 10 21:04 /usr/sbin/ntpd 
7
Обратите внимание на восклицательный знак. Обычно он используется для инвертирования true / false, хотя в Systemd может быть что-то другое. Daniel B 9 лет назад 1

2 ответа на вопрос

7
Georgi Chulkov

Восклицательный знак отрицает условие; другими словами, условие, которое терпит неудачу, говорит: «включить, если исполняемый файл / usr / sbin / ntpd не существует». Это не сработает, потому что / usr / bin / ntpd существует и является исполняемым.

Логика, лежащая в основе этой строки, заключается в том, что systemd-timesyncd должен быть включен, только если ntpd не установлен; в противном случае это было бы избыточно (в лучшем случае) или мешало бы ntpd (в худшем случае). Поскольку вы или ваш дистрибутив установили ntpd, служебный файл timesyncd отключит его, и пусть ntpd будет вашим NTP-клиентом.

Если вы хотите настроить systemd-timesyncd, вы должны удалить ntpd. Если вы хотите попробовать его только для тестирования, вы можете переопределить строку в служебном файле, создав файл с именем /etc/systemd/system/systemd-timesyncd.servicecontent:

ConditionFileIsExecutable= 
0
Denis Szalkowski

Сначала остановите и отключите ntpdдемон в одном из следующих двух случаев:

systemctl stop ntpd systemctl disable ntpd 

или же

systemctl stop ntp systemctl disable ntp 

Похожие вопросы