Como corrigir o tempo no Arch Linux

2

Atualmente, estou usando o Arch Linux como meu sistema operacional na minha área de trabalho. Quando olho para o meu tempo, é 22:38, quando a hora está claramente por volta das 17:08. Quando invoco o comando timedatectl , recebo:

Local time: Wed 2017-01-11 22:37:43 IST
Universal time: Wed 2017-01-11 17:07:43 UTC
    RTC time: Wed 2017-01-11 17:07:41
    Time zone: Asia/Kolkata (IST, +0530)
Network time on: yes
NTP synchronized: no
RTC in local TZ: no

Atualizar

Quando executo sudo systemctl status systemd-timesyncd , obtenho:

● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; enabled; vendor preset: enabled)
   Active: active (running) since Wed 2017-01-11 00:49:36 IST; 1 day 1h ago
     Docs: man:systemd-timesyncd.service(8)
 Main PID: 31123 (systemd-timesyn)
   Status: "Idle."
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/systemd-timesyncd.service
           └─31123 /usr/lib/systemd/systemd-timesyncd

Jan 12 01:39:42 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 5.9.78.71:123 (1.arch.pool.ntp.org).
Jan 12 01:39:53 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 192.53.103.108:123 (1.arch.pool.ntp.org).
Jan 12 01:40:03 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.19.184:123 (2.arch.pool.ntp.org).
Jan 12 01:40:13 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.45.40:123 (2.arch.pool.ntp.org).
Jan 12 01:40:24 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 123.108.200.124:123 (2.arch.pool.ntp.org).
Jan 12 01:40:34 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 125.62.193.121:123 (2.arch.pool.ntp.org).
Jan 12 01:40:44 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.45.40:123 (3.arch.pool.ntp.org).
Jan 12 01:40:55 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 123.108.200.124:123 (3.arch.pool.ntp.org).
Jan 12 01:41:05 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 139.59.19.184:123 (3.arch.pool.ntp.org).
Jan 12 01:41:15 sharan-pc systemd-timesyncd[31123]: Timed out waiting for reply from 125.62.193.121:123 (3.arch.pool.ntp.org).

traceroute

Eu também tentei o comando traceroute -U -p ntp pool.ntp.org e recebo:

traceroute to pool.ntp.org (139.59.19.184), 30 hops max, 60 byte packets
 1  10.114.1.1 (10.114.1.1)  1.713 ms  2.020 ms  2.343 ms
 2  10.10.2.41 (10.10.2.41)  1.123 ms  2.580 ms  2.836 ms
 3  cyberoam.iisc.ac.in (10.10.1.98)  0.553 ms  0.806 ms  0.813 ms
 4  * * *
 5  * * *
 6  * * *
 7  * * *
 8  * * *
 9  * * *
10  * * *
11  * * *
12  * * *
13  * * *
14  * * *
15  * * *
16  * * *
17  * * *
18  * * *
19  * * *
20  * * *
21  * * *
22  * * *
23  * * *
24  * * *
25  * * *
26  * * *
27  * * *
28  * * *
29  * * *
30  * * *

Como faço para corrigir isso? Eu até tentei timedatectl set-ntp true . Eu deveria reiniciar para que isso tenha efeito?

    
por Sharan Duggirala 11.01.2017 / 12:41

2 respostas

3

systemd-timesyncd não exigirá que você reinicie. Eu testei timedatectl no meu sistema. Pode ser necessário esperar um minuto por uma conexão.

man timedatectl

status

Show current settings of the system clock and RTC, including whether network time synchronization is on. Note that whether network time synchronization is on simply reflects whether the systemd-timesyncd.service unit is enabled. Even if this command shows the status as off, a different service might still synchronize the clock with the network.

$ timedatectl status
      Local time: Wed 2017-01-11 13:45:07 GMT
  Universal time: Wed 2017-01-11 13:45:07 UTC
        RTC time: Wed 2017-01-11 13:45:07
       Time zone: Europe/London (GMT, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: yes

timedatectl manpage está no meu sistema. Possivelmente, a implementação foi corrigida pelo Fedora, sem remendar a manpage. Eu não sei como consultar qual serviço é usado; meu sistema usa chronyd. Eu imagino que também seja possível usar o ntp / ntpd.

No entanto, no seu caso, eu ficaria bastante confiante de que o Arch usa o padrão upstream de timesyncd.

$ systemctl status systemd-timesyncd
● systemd-timesyncd.service - Network Time Synchronization
   Loaded: loaded (/usr/lib/systemd/system/systemd-timesyncd.service; disabled; 
   Active: inactive (dead)
     Docs: man:systemd-timesyncd.service(8)

$ systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor pres
   Active: active (running) since Mon 2017-01-09 19:09:39 GMT; 1 day 18h ago
 Main PID: 928 (chronyd)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/chronyd.service
           └─928 /usr/sbin/chronyd

Você pode ter erros registrados abaixo do status. Certifique-se de executar systemctl como um usuário com acesso ao diário do sistema, por exemplo usando sudo .

Ao contrário de chronyd com chronyc , não há maneira documentada de consultar adicionalmente systemd-timesyncd para ... qualquer coisa realmente, além de "NTP sincronizado: não". Espero que tenha registros úteis!

Sugiro visar

  1. Identifique quais alias pool.ntp.org conhecidas seu sistema está tentando usar.
  2. Teste o alias, por ex. ntpdate -q arch.pool.ntp.org .
  3. traceroute para o alias para ver se há um bloco próximo, ou seja, um firewall impedindo o acesso. Como sempre, eu usaria ping primeiro porque obtém resultados mais rápidos (e é menos propenso a interpretações erradas) ou usa a versão mtr do traceroute (isso também usa o traceroute ICMP, o que evita muitos resultados de multi redes de caminhos). Em última análise, você quer algo como traceroute -U -p ntp pool.ntp.org , ou seja, usando a mesma porta UDP que o NTP faz.

EDIT : as versões anteriores desta resposta estavam confusas sobre os servidores NTP padrão do systemd-timesyncd. Embora sejam comentados (desativados) em timesyncd.conf , só será necessário remover o comentário da linha se você precisar alterar o servidor. Os valores padrão são embutidos no timesyncd em tempo de compilação. Isso é mencionado em toda a documentação.

link

link

    
por 11.01.2017 / 15:22
-1

O fuso horário está correto para sua localização? E você deve definir o fuso horário correto via timedatectl set-timezone

O comando date está mostrando a hora do sistema, para sua localização atual.

ntpdate corrigirá a hora do seu fuso horário.

por exemplo, usar o servidor apple ntp resultará:

sudo ntpdate time.apple.com

11 Jan 19:18:28 ntpdate[1052]: adjust time server 17.253.38.125 offset 0.004981 sec
    
por 11.01.2017 / 14:20