Здравствуйте!
У меня на работе не работают никакие порты, кроме ХТТП, посему ntp также не работает. В силу вышеизложенного я возжелал использовать htpdate. И ежели его запускать из командной строки, то всё ок. А вот sudo systemctl start htpdate.service говорит, что шиш с маслом:
transgeneprep@transgeneprep-System-Product-Name:~/dima/exons_lengths_test$ sudo systemctl start htpdate.service
Job for htpdate.service failed because a timeout was exceeded.
See "systemctl status htpdate.service" and "journalctl -xe" for details.
transgeneprep@transgeneprep-System-Product-Name:~/dima/exons_lengths_test$ systemctl status htpdate.service
● htpdate.service - HTTP based time synchronization tool
Loaded: loaded (/lib/systemd/system/htpdate.service; enabled; vendor preset: enabled)
Active: failed (Result: timeout) since Thu 2021-06-17 17:23:48 MSK; 5min ago
Docs: man:htpdate
Process: 501289 ExecStart=/usr/sbin/htpdate $HTP_OPTIONS $HTP_PROXY -i /run/htpdate.pid $HTP_SERVERS (code=exited, status=0/SUCCESS)
июн 17 17:22:17 transgeneprep-System-Product-Name systemd[1]: Starting HTTP based time synchronization tool...
июн 17 17:22:17 transgeneprep-System-Product-Name htpdate[501291]: htpdate version 1.2.2 started
июн 17 17:22:17 transgeneprep-System-Product-Name systemd[1]: htpdate.service: Can't open PID file /run/htpdate.pid (yet?) after start: Operation not permitted
июн 17 17:23:48 transgeneprep-System-Product-Name systemd[1]: htpdate.service: start operation timed out. Terminating.
июн 17 17:23:48 transgeneprep-System-Product-Name systemd[1]: htpdate.service: Failed with result 'timeout'.
июн 17 17:23:48 transgeneprep-System-Product-Name systemd[1]: Failed to start HTTP based time synchronization tool.
Пораскинув мозгами, я догадался, что надобно задать переменную $HTP_SERVERS. Однако ж сколько я её ни задавал, результат означенной команды совершенно не изменялся. Ни export, ни set, ни /etc/environment, ни задание от рута не помогают. Поиск в интернете на тему того, как этот несчастный htpdate.service настраивать, также молчит, как рыба об лёд, разве что вот здесь
https://snapcraft.io/install/htpdate-daemon/ubuntu в укромном месте содержится тайное знание:
To allow the snap package to adjust the time you need to connect the time-control interface after installation and restart the daemon: . snap connect htpdate-daemon:time-control . You can set the list of hosts (default: google.com) to query for time via a snap setting like: . snap set htpdate-daemon hosts="google.com www.linux.org" . You can also set additional options for the daemon . snap set htpdate-daemon extra-opts="-d"
Но это же, простите, бред - вызывать
из ада какой-то snap, чтобы изменить одну несчастную переменную. Ну и к тому же сей манускрипт беззастенчиво врёт, ибо htpdate -q google.com превосходно работает, а htpdate.service не дожидается ответа, посему по дефолту в оной переменной явно не google.com (а что именно - загадка природы).
Как можно задать оную переменную, чтобы она передалась в htpdate.service? Или без перезагрузки не получится?
Заранее благодарен.