Перенос ntpd

В настоящее время я пытаюсь сократить время загрузки встроенной системы Linux. Один из способов понять, что мы можем сделать это, отложив скрипт ntp init.d.

Демон попытался синхронизировать с сервером через соединение ethernet. Но у нас не всегда есть соединение, и он занимает много времени, пока он пытается синхронизировать. В нашей системе ntp не имеет решающего значения, поэтому его можно запустить в более позднее время.

Я хотел сделать, чтобы сценарий ntpd init.d подождал как 5 минут, но не блокировал оставшуюся часть операции загрузки.

Это S49 в папке init.d, которую я использую:

#! /bin/sh # # System-V init script for the openntp daemon # PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DESC="network time protocol daemon" NAME=ntpd DAEMON=/usr/sbin/$NAME NTPDATE_BIN=/usr/bin/ntpdate # Gracefully exit if the package has been removed. test -x $DAEMON || exit 0 # Read config file if it is present. if [ -r /etc/default/$NAME ] then . /etc/default/$NAME fi case "$1" in start) if [ -x $NTPDATE_BIN ] ; then echo -n "Getting initial time via ntp" $NTPDATE_BIN $NTPDATE_OPTS $NTPSERVERS > /dev/null 2>&1 echo "." fi echo -n "Starting $DESC: $NAME" start-stop-daemon -S -q -x $DAEMON echo "." ;; stop) echo -n "Stopping $DESC: $NAME" start-stop-daemon -K -q -n $NAME echo "." ;; reload|force-reload) echo -n "Reloading $DESC configuration..." start-stop-daemon -K -q -n $NAME -s 1 echo "done." ;; restart) echo "Restarting $DESC: $NAME" $0 stop sleep 1 $0 start ;; *) echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0 

2 Solutions collect form web for “Перенос ntpd”

Как показывает ваш сценарий инициализации, ваша задержка вызвана ntpdate при ее запуске.

Это одна из самых распространенных ошибок при настройке NTP. Цель использования ntpdate заключается в том, что ntpd не выйдет с ошибкой при запуске. Он делает это, если обнаруживает, что разница во времени очень велика. Однако ntpd имеет возможность игнорировать эту разницу во времени только один раз. Поэтому, включив это, ntpdate больше не нужен.

Тогда решение состоит в отключении ntpdate и использовании этой функции.

Для этого вам нужно всего лишь создать /etc/default/ntpd :

 NTPDATE_BIN="-" DAEMON="/usr/sbin/ntpd -g" 

NTPDATE_BIN="-" для этого бита сценария инициализации:

 if [ -x $NTPDATE_BIN ] ; then 

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

DAEMON="/usr/sbin/ntpd -g" для этого:

 start-stop-daemon -S -q -x $DAEMON 

Это приведет к ntpd как ntpd -g . Опция -g – это опция, которая говорит, что это позволяет увеличить разницу во времени.

 case "$1" in start) if [ -x $NTPDATE_BIN ] ; then echo -n "Getting initial time via ntp" $NTPDATE_BIN $NTPDATE_OPTS $NTPSERVERS > /dev/null 2>&1 echo "." fi 

ntpdate запускается при загрузке независимо от всего, если он найден как исполняемый файл. Если вы хотите остановить это поведение, вы должны удалить ntpdate с помощью менеджера пакетов, который у вас есть, или вручную перемещая двоичный файл.

Модификация скрипта также является опцией, но если вы обновите ее, возможно, она будет перезаписана.

  • Arch ntpd / ntpdate не синхронизирует часы
  • Как узнать во время запуска системы, когда системное время станет правильным из NTP
  • Цифровые часы в Lubuntu 16.04 показывают еще час в CET ZT
  • Синхронизировать дату и время на вычислительных узлах
  • NTP не синхронизирует время даже с `tinker panic 0` в /etc/ntp.conf в Centos 7.3. Просмотр VM из приостановленного состояния
  • ntpd vs. systemd-timesyncd - Как добиться надежной синхронизации NTP?
  • ntpd занимает 9 часов для синхронизации
  • Почему у CentOS нет файла дрифта NTP?
  • странный трафик NTP
  • Должен ли я запускать демон NTP на моем персональном компьютере для дополнительной безопасности?
  • NTPd не синхронизируется на RaspberryPi
  • Linux и Unix - лучшая ОС в мире.