ntp-4.2.8p18

Introdução ao ntp

O pacote "ntp" contém um cliente e um servidor para manter a hora sincronizada entre vários computadores em uma rede de intercomunicação. Esse pacote é a implementação de referência oficial do protocolo "NTP".

Esse pacote é conhecido por construir e funcionar corretamente usando uma plataforma LFS 12.2.

Informação do Pacote

Dependências do "ntp"

Exigidas

IO-Socket-SSL-2.088

Opcionais

libcap-2.70 com PAM, libevent-2.1.12, libedit e libopts originário do AutoGen

Observações de Editor(a): https://wiki.linuxfromscratch.org/blfs/wiki/ntp

Instalação do ntp

Deveria existir um(a) usuário(a) e um grupo dedicado(a) para assumir o controle do processo de segundo plano "ntpd" depois que ele for iniciado. Emita os seguintes comandos como o(a) usuário(a) "root":

groupadd -g 87 ntp &&
useradd -c "Protocolo de horário da rede de intercomunicação" -d /var/lib/ntp -u 87 \
        -g ntp -s /bin/false ntp

Corrija um problema de tipo executando

sed -e "s;pthread_detach(NULL);pthread_detach(0);" \
    -i configure \
       sntp/configure

Instale o "ntp" executando os seguintes comandos:

./configure --prefix=/usr        \
            --bindir=/usr/sbin    \
            --sysconfdir=/etc     \
            --enable-linuxcaps    \
            --with-lineeditlibs=readline \
            --docdir=/usr/share/doc/ntp-4.2.8p18 &&
make

Para testar os resultados, emita: make check.

Agora, como o(a) usuário(a) "root":

make install &&
install -v -o ntp -g ntp -d /var/lib/ntp

Explicações do Comando

--bindir=/usr/sbin: Esse parâmetro coloca os aplicativos administrativos em "/usr/sbin".

--enable-linuxcaps: O "ntpd" é executado como usuário(a) "ntp", de forma que use os recursos do "Linux" para controle de relógio não raiz.

--with-lineeditlibs=readline: Essa chave habilita o suporte "Readline" para os aplicativos "ntpdc" e "ntpq". Se omitido, [então] "libedit" será usada se instalada; caso contrário, nenhum recurso do "Readline" será compilado.

Configurando o ntp

Arquivos de Configuração

/etc/ntp.conf

Informação de Configuração

O arquivo de configuração a seguir define primeiro vários servidores NTP com acesso aberto a partir de diferentes continentes. Segundo, ele cria um arquivo drift onde ntpd armazena o deslocamento de frequência e um arquivo pid para armazenar o ID do processo ntpd. Como a documentação incluída no pacote é escassa, visite-se o sítio do NTP em https://www.ntp.org/ e https://www.ntppool.org/ para mais informações.

cat > /etc/ntp.conf << "EOF"
# Ásia
server 0.asia.pool.ntp.org

# Austrália
server 0.oceania.pool.ntp.org

# Europa
server 0.europe.pool.ntp.org

# América do Norte
server 0.north-america.pool.ntp.org

# América do Sul
server 2.south-america.pool.ntp.org

driftfile /var/lib/ntp/ntp.drift
pidfile   /run/ntpd.pid
EOF

Você possivelmente deseje adicionar uma seção de Segurança. Para explicações, veja-se https://www.eecis.udel.edu/~mills/ntp/html/accopt.html#restrict.

cat >> /etc/ntp.conf << "EOF"
# Seção de segurança
restrict    default limited kod nomodify notrap nopeer noquery
restrict -6 default limited kod nomodify notrap nopeer noquery

restrict 127.0.0.1
restrict ::1
EOF

Sincronizando a Hora

Existem duas opções. A primeira opção é a de executar o "ntpd" continuamente e permitir que ele sincronize a hora de maneira gradual. A outra opção é a de executar o "ntpd" periodicamente (usando o "Cron") e atualizar a hora cada vez que o "ntpd" estiver agendado.

Se você escolher a opção um, então instale a unidade "ntpd.service" inclusa no pacote "" "blfs-systemd-units-20240801".

make install-ntpd

Se você preferir executar ntpd periodicamente, adicione o seguinte comando ao crontab do(a) root:

ntpd -q

Conteúdo

Aplicativos Instalados: calc_tickadj, ntp-keygen, ntp-wait, ntpd, ntpdate, ntpdc, ntpq, ntptime, ntptrace, sntp, tickadj e update-leap
Bibliotecas Instaladas: Nenhum(a)
Diretórios Instalados: /usr/share/ntp, /usr/share/doc/ntp-4.2.8 e /var/lib/ntp

Descrições Curtas

calc_tickadj

calcula o valor ideal para o "tick" dado o arquivo de mudança gradual do "NTP"

ntp-keygen

gera arquivos de dados criptográficos usados pelos esquemas de autenticação e identificação "NTPv4"

ntp-wait

é útil ao tempo da inicialização, para atrasar a sequência de inicialização até que o "ntpd" tenha configurado a hora

ntpd

é um processo de segundo plano "NTP" que executa em segundo plano e mantém a data e a hora sincronizadas baseado na resposta originária dos servidores "NTP" configurados. Também funciona como um servidor "NTP"

ntpdate

é um aplicativo cliente que configura a data e a hora baseado na resposta originária de um servidor "NTP". Esse comando está obsoleto

ntpdc

é usado para consultar o processo de segundo plano "ntp" sobre o estado atual dele e para solicitar mudanças nesse estado

ntpq

é um aplicativo utilitário usado para monitorar operações "ntpd" e determinar o desempenho

ntptime

lê e exibe variáveis do núcleo relacionadas à hora

ntptrace

rastreia uma cadeia de servidores "NTP" até a fonte primária

sntp

é um cliente "Simple Network Time Protocol" ("SNTP")

tickadj

lê e, opcionalmente, modifica várias variáveis relacionadas à cronometragem em núcleos mais antigos que não tem suporte para cronometragem de precisão

update-leap

é um conjunto de comandos sequenciais para verificar e, se necessário, atualizar o arquivo de definição de segundos bissextos.

[Nota]

Nota

Em novembro de 2022, na 27ª Conferência Geral de Pesos e Medidas, foi decidido abandonar o segundo bissexto. Além disso, esse conjunto de comandos sequenciais rigidamente codifica uma URL para um arquivo de atualização que não mais existe. A última vez que um segundo bissexto foi declarado foi em janeiro de 2017. Esse conjunto de comandos sequenciais provavelmente será removido em um lançamento futuro.