7

Я пытаюсь запустить службу 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

2 ответа2

7

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

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

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

ConditionFileIsExecutable=
0

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

systemctl stop ntpd
systemctl disable ntpd

или же

systemctl stop ntp
systemctl disable ntp

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .