Data e hora

Ver a data e hora atuais

Para ver a data e hora em um sistema GNU/Linux Debian, use o comando date sem argumentos. Ele mostrará a data e hora do sistema no formato definido em fusos horários.

Para ver no formato do horário UTC, use o comando date --utc (ou abreviado como date -u). Veja a página do manual do date.

Ajustar manualmente a data e hora

Quando ajustar o horário e a data do sistema manualmente, o formato necessário pode ser confuso (o POSIX convencionou o formato MMDDhhmmYYYY). No entanto, no uso do argumento --set, date aceita datas e horários em muitos formatos. Você pode ler a página do manual do date ou usar o exemplo abaixo para um formato possível e bem útil. O argumento --set usado no exemplo abaixo é especificado no formato estendido do padrão ISO 8601 como YYYY-MM-DD para Ano-Mês-DiaDoMês, e o horário HH:MM:SS usando o formato 24 horas. Zeros a esquerda são significativos:

     date --set 1998-11-02
     date --set 21:08:00

Os dois comandos acima configuram a data para dois de novembro de 1998, e o horário para nove horas e 8 minutos da noite.

Nota: usar apenas o comando date define o horário do sistema (conhecido como relógio do software (software clock), mas não tem efeito no relógio do hardware (conhecido como relógio de tempo real - RTC - "real time clock"). Quando o sistema inicia, não há referências de tempo absoluto e o sistema obterá o horário do relógio do hardware. Portanto, para garantir que o horário definido com date se mantenha entre as reinicializações, é necessário salvá-lo no relógio do hardware.

A maioria dos ambientes de área de trabalho disponibilizam um utilitários de configuração de data e hora. Veja, por exemplo, o programa time-admin do pacote gnome-system-tools.

Ajustando o relógio de hardware

Para armazenar o horário atual do sistema no relógio de hardware, de modo a ser recuperado em reinicializações subsequentes, corrija o horário como explicado anteriormente e então use o comando hwclock --systohc para armazená-lo no hardware (veja a página de manual hwclock para mais opções).

Distribuições modernas do Debian (2.2 em adiante) automaticamente salvam o horário do sistema no relógio de hardware ao desligarem corretamente, e definem o horário do sistema a partir do relógio de hardware ao ligar. Isto é feito pelo script /etc/init.d/hwclock.sh.

Configure o horário automaticamente

O protocolo usado para configurar horário e data é o Network Time Protocol (NTP - Protocolo de Tempo para Redes). Para configurar automaticamente o horário e data, é necessário acesso a um servidor NTP. Sua rede local pode fornecer tal servidor, mas a maioria das pessoas acessam um servidor NTP pela Internet.

Na Internet, há servidores que fornecem o horário correto. Seu servidor de Internet provavelmente disponibiliza um servidor de tempo e deve ser sua mais próxima e mais precisa fonte. Apesar de existirem muitos servidores NTP independentes nos quais é possível se conectar, sua melhor fonte é http://pool.ntp.org.

Instalação de clientes NTP

O Debian fornece diversos pacotes para instalar um cliente NTP, dependendo da versão do sistema operacional. Desde o Debian 12, o cliente NTP padrão é o systemd-timesyncd do Systemd.

Você pode usar chrony, ntp ou ntpsec com Systemd. No Debian 12, ntp foi substituído por ntpsec; consulte Alterações em pacotes que definem o relógio do sistema. Systemd não requer que você execute systemd-timesyncd.

pacote chrony

chrony é uma implementação independente do NTP licenciado sob a GNU GPL v2.

Faça o seguinte para instalar o chrony:

apt-get install chrony

Para configurar o pacote chrony, você deve modificar /etc/chrony/chrony.conf.

pacote ntp

ntp é um porte da implementação de referência original.

Faça o seguinte para instalar o ntp:

apt-get install ntp

Para configurar o pacote ntp, você deve modificar /etc/ntp.conf.

pacote ntpsec

ntpsec é um fork com segurança reforçada da implementação de referência. No Debian Bookworm (e posteriores), NTP é um pacote de transição para ntpsec.

Faça o seguinte para instalar o ntpsec:

apt-get install ntpsec

Para configurar o pacote ntpsec, você deve modificar /etc/ntpsec/ntp.conf

systemd-timesyncd

systemd-timesyncd é a implementação do Systemd do protocolo SNTP. Se o Systemd está instalado, você pode habilitar o cliente NTP usando sudo timedatectl set-ntp true.

Para configurar o timesyncd, você deve modificar /etc/systemd/timesyncd.conf.

Gerenciando NTP Pools

Você pode usar mais fonte locais. Altere a linha server pool.ntp.org para server XX.pool.ntp.org, onde XX é seu continente ou o código de país com duas letras.

Para melhor precisão, inclua linhas de servidores extras, tais como

server 0.XX.pool.ntp.org
server 1.XX.pool.ntp.org
server 2.XX.pool.ntp.org

Incremente o número para cada linha que adicionar ao arquivo.

Você deve usar pelo menos 3 fontes de tempo ao usar um pool. Como diz o ditado, uma pessoa com um relógio sabe que horas são. Uma pessoa com dois relógios nunca tem certeza.

Estratégia de boot duplo com Windows

Se sua máquina inicializa Windows e Linux, você poderá ter problemas porque o Windows usa localtime para o relógio de hardware; enquanto o Linux e o Debian usam o UTC para o relógio de hardware. Neste caso, você tem duas opções. A primeira é usar localtime para o relógio de hardware, e definir o Debian para usar localtime. A segunda é usar o UTC para o relógio de hardware e definir o Windows para usar o UTC.

Se for dada uma escolha, você deve preferir a opção de usar UTC, porque UTC não sofre mudanças de horário de verão e fuso horário durante viagens. Um relógio de hardware configurado para UTC aumentará monotonicamente e não saltará devido aos horários de verão e mudanças de fuso horário.

Relógio de hardware em localtime

Se o relógio de hardware da máquina está em localtime, você deve modificar a configuração do Debian. O Debian usa o arquivo /etc/adjtime para manter as informações do fuso horário do relógio de hardware:

0.000000 14602224559 0.000000
1460224559
UTC

Para modificar a configuração, edite o arquivo /etc/adjtime e altere "UTC" para "LOCAL" usando seu editor favorito. Você deve usar sudo ou su para editar o arquivo.

Relógio de hardware em UTC

Se o relógio de hardware da máquina estiver em UTC, você deve modificar a configuração do Windows. O Windows usa o registro (registry) para armazenar informações de fuso horário do relógio do hardware. O valor padrão é localtime se a chave do registro estiver faltando.

Para modificar a configuração, execute regedit como administrador(a). Navegue até HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. Crie uma chave chamada RealTimeIsUniversal com tipo QWORD, e defina o valor para 1.

Referências externas

Hora de sistema no wiki do Gentoo

Protocolo de tempo de rede (Network Time Protocol)

8.9. Outras configurações: Sincronização de tempo, Logs, Compartilhando acessos… - O guia do administrador(a) Debian


CategorySystemAdministration