A configuração da hora em sistemas Linux, embora possa parecer um processo automático, pode apresentar desafios e, por vezes, levar a configurações incorretas. Devido à complexidade que a gestão do tempo pode ter para utilizadores menos experientes, vamos analisar em detalhe como configurar a sincronização de hora através da rede no Linux.
Adicionalmente à configuração do NTP, abordaremos também como solucionar o problema de desfasamento temporal que pode surgir ao inicializar tanto o Linux como o Windows.
Configuração do Protocolo de Horário de Rede (NTP)
A sincronização do relógio do seu computador Linux com servidores de tempo é a maneira mais comum e eficaz de garantir a precisão da hora. Na maioria das distribuições Linux, este processo ocorre automaticamente. Contudo, nem todas as distribuições usam o NTPd, e mesmo aquelas que o fazem podem ter configurações erradas ou apresentar falhas. Para corrigir isso, vamos explicar como configurar manualmente o daemon Network Time Protocol no Linux.
Primeiramente, abra um terminal e instale o NTP, caso o seu PC não o tenha. Embora seja provável que já esteja instalado, para garantir, aqui estão os comandos para as distribuições Linux mais comuns:
Ubuntu
sudo apt install ntp
Debian
sudo apt-get install ntp
Arch Linux
sudo pacman -S ntp
Fedora
sudo dnf install ntp
OpenSUSE
sudo zypper install ntp
Após a instalação do software, é necessário estabelecer uma ligação com um servidor NTP. Por norma, a maioria das distribuições Linux já tem os seus servidores NTP configurados no arquivo /etc/ntp.conf
. No entanto, se considerar que esses servidores não são suficientemente confiáveis, pode substituí-los por um servidor mais robusto (como o servidor NTP oficial da Google).
Para adicionar o servidor NTP da Google, edite o ficheiro ntp.conf
:
sudo nano /etc/ntp.conf
Pode apagar as entradas existentes (opcional) e substituí-las pelas seguintes (apesar de não ser recomendado). Para melhores resultados, coloque as entradas do servidor NTP da Google no início do ficheiro.
Nota: É crucial que a opção iburst
esteja no final de cada nova entrada. Esta opção envia uma “rajada” de pacotes aos servidores apenas em situações de problemas de conexão com o servidor de horário.
server time.google.com iburst server time2.google.com iburst server time3.google.com iburst
Concluída a edição, salve o ficheiro de configuração no Nano pressionando Ctrl + O e saia do editor com Ctrl + X.
Configuração do Fuso Horário
O NTP é capaz de sincronizar automaticamente a hora com os servidores, mas antes disso, precisa de saber qual o fuso horário correto. Normalmente, durante a configuração inicial, o sistema operacional Linux pergunta qual o seu fuso horário e configura-o. Se algo correr mal durante a instalação, será necessário corrigir isso manualmente usando tzselect
.
Abra um terminal e execute a ferramenta de fuso horário:
tzselect
Ao executar a ferramenta tzselect
, será guiado através da configuração do fuso horário correto. Após este passo, já pode iniciar o NTPd.
Inicializando o NTP
Com todas as conexões aos servidores de hora operacionais, o próximo passo é usar o sistema init Systemd para carregar o NTP na inicialização do sistema. Note que, se o seu sistema operacional Linux não usa o Systemd como a maioria dos sistemas mais modernos, será necessário encontrar uma alternativa a estes comandos.
Primeiro, inicie o NTPd:
sudo systemctl start ntpd.service
Em seguida, ative-o para que seja carregado no arranque do sistema com o comando systemctl enable
:
sudo systemctl enable ntpd.service
Ao executar os comandos acima, a hora deve ser ajustada instantaneamente, pois a hora UTC na BIOS agora estará correta (graças ao tzselect
).
Utilizar a Hora Local
Existem outras maneiras de definir a hora no Linux, além do NTP. A alternativa mais comum a este método é o uso da “hora local”. A hora local indica ao Linux para manter a hora, mas sem sincronizar com qualquer fonte externa. Essencialmente, a hora será mantida de forma autónoma e não sofrerá interferências. Embora menos fiável, esta opção funciona. Mas por que razão quererá utilizar esta opção?
A principal razão para optar pela hora local em detrimento do NTP é o facto de a inicialização dupla (dual boot) causar conflitos com o tempo. Se já iniciou o Linux e depois o Windows 10, terá reparado em desfasamentos de hora. Isto deve-se ao facto de ambos os sistemas operativos possuírem um serviço de sincronização de tempo, o que leva a conflitos entre eles. A solução passa por desativar a sincronização de tempo no Linux.
Observação: tenha em mente que, mesmo tendo configurado o Linux para utilizar a hora local, o Windows pode ainda apresentar problemas. Certifique-se de verificar as configurações de hora do Windows para evitar conflitos entre os dois sistemas operativos.
A execução do comando timedatectl
deve resolver o problema:
sudo timedatectl set-local-rtc 1
Após reverter para a hora local, poderá ser necessário reiniciar o seu PC. Após o novo login, tudo deverá estar a usar a hora local.
Pretende desativar a hora local? Nesse caso, será necessário executar o comando timedatectl
novamente. Experimente o seguinte comando:
sudo timedatectl set-local-rtc 0
Como anteriormente, reinicie o seu PC Linux para garantir que tudo corre bem. Após o próximo login, a hora local não deverá estar ativa.