it-swarm-pt.tech

Como configurar o Ubuntu para sincronizar meu relógio com um servidor de horário?

Eu gostaria que o Ubuntu sincronizasse automaticamente o relógio do meu sistema com um servidor de horário na inicialização.

No entanto, meu PC não está conectado à Internet até que eu tenha logado (mais 5 - 10 segundos para uma boa medida).

Como posso configurá-lo para fazer isso?

23
Nathan Osman

Isso é feito com o NTP, para o qual instruções estão disponíveis. Basicamente, você precisará instalar um daemon NTP. Parece haver várias opções disponíveis, mas a "padrão" está no pacote ntp. De acordo com as instruções na página vinculada,

Sudo apt-get install ntp

vai ter tudo configurado para sincronizar com o servidor NTPdo Ubuntu.

EDIT: eu perdi "na inicialização". Geralmente é recomendado usar o ntpd para obter sincronização contínua entre o seu sistema e o servidor, mas se você realmente deseja sincronizar apenas uma vez, a resposta do mfisch parece ser o que você está procurando.

32
David Z

Se você for para "Sistema-> Administração-> Hora e Data", você receberá uma GUI para definir a data/hora.

Uma opção é fornecida para usar servidores de horário. Se você verificar e NTP não estiver instalado, ele perguntará se você deseja instalá-lo. Basta clicar em "sim" e deixar que faça o seu trabalho :)

9
Little Jawa

Você pode fazer isso usando at e ntpdate. provavelmente já está instalado, mas ntpdate pode não ser. (apt-get install ntpdate).

Primeiro crie um script pequeno que execute ntpdate, vamos chamá-lo update_time.sh.

#!/bin/bash
ntpdate pool.ntp.org

No seu arquivo .bash_login (que você pode precisar criar) adicione isto:

at -f ~/update_time.sh now + 1 minute

Isso deve fazer o que você quiser. Você pode alterar o atraso que at usa para ser 5 minutos, 10 minutos etc.

EDIT: Acabei de perceber que você precisará ser raiz para executar ntpdate. Você precisará definir o bit SUID no script update_time.sh que mencionei. Você pode fazer isso executando isto a partir do comando (só precisa ser executado uma vez):

Sudo chmod 4711 update_time.sh
Sudo chown root update_time.sh
6
mfisch

Desde o Ubuntu 16.04 timedatectl/timesyncd (que fazem parte do systemd) substituir a maioria do ntpdate/ntp. Veja Time Synchronization .

Você pode precisar ativar a sincronização de tempo usando:

$ Sudo timedatectl set-ntp on

Se você quiser usar chrony:

  • Se você precisar de um uso de sincronização única: $ chronyd -q

  • Se você precisar de uma verificação de tempo único, sem definir o tempo de uso: $ chronyd -Q

  • Para sincronização contínua, a solução recomendada é chrony:

chrony (d)

O NTP daemon chronyd calcula o desvio e o deslocamento do relógio do seu sistema e o ajusta continuamente, portanto, não há grandes correções que possam levar a logs inconsistentes, por exemplo. O custo é um pouco de poder de processamento e memória, mas para um servidor moderno isso é geralmente insignificante. Instalação

Para instalar o chrony, a partir de um prompt do terminal, digite:

$ Sudo apt install chrony

Você também pode precisar ativar

Sudo timedatectl set-ntp ativado

Update: Outro método se o acima não funcionar é definir um cron job para executar $ chronyd -q

0
JBaczuk