Puncte:0

timedatectl pe serverul ubuntu 20.04

drapel cn

Am un server ubuntu (20.04) unde timedatectl nu reușește să seteze fusul orar. La primul apel, întotdeauna eșuează, la al doilea crede că a reușit, dar de fapt nu a reușit:

În prealabil, fusul orar este Europa/Paris:

root@oxpad:~# timedatectl 
               Ora locală: miercuri 11-08-2021 02:02:44 CEST
           Ora universală: miercuri 2021-08-11 00:02:44 UTC 
                 Ora RTC: miercuri 2021-08-11 00:02:44     
                Fus orar: Europe/Paris (CEST, +0200)  
Ceas de sistem sincronizat: da                         
              Serviciu NTP: activ                      
          RTC în TZ local: nr                          

** Ora este CEST == Ora de vară a Europei Centrale **

root@oxpad:~# dată
Miercuri, 11 august, 02:02:46 CEST 2021

Schimbați fusul orar:

root@oxpad:~# timedatectl set-timezone Europe/Londra
Nu s-a putut seta fusul orar: acces refuzat
root@oxpad:~# timedatectl set-timezone Europe/Londra
root@oxpad:~#

Succes aparent

root@oxpad:~# timedatectl 
               Ora locală: miercuri 11-08-2021 01:02:58 BST
           Ora universală: miercuri 2021-08-11 00:02:58 UTC
                 Ora RTC: miercuri 2021-08-11 00:02:58    
                Fus orar: Europe/London (BST, +0100) 
Ceas de sistem sincronizat: da                        
              Serviciu NTP: activ                     
          RTC în TZ local: nr                         

Dar eșecul real

root@oxpad:~# dată
Miercuri, 11 august, 02:02:59 CEST 2021
root@oxpad:~# 

și, într-adevăr, niciun alt serviciu nu vede ora locală actualizată. Se pare că timedatectl este singurul care crede că a reușit.

Acest lucru este complet repetabil. Este o problemă deoarece vom implementa destul de multe dintre aceste servere și dacă fusul orar nu poate fi setat, avem o problemă. Chiar mi-ar plăcea să înțeleg relația dintre timedatectl și ora sistemului „real”, așa cum se vede de Data și alte procese, deoarece aceasta ar duce probabil la înțelegerea problemei. Orice indicii ar fi binevenite.

Interesant, setarea fusului orar pe un sistem desktop Ubuntu 20.04 cu timedatectl funcționează bine. Este aproape ca și cum timedatectl setează fusul orar peste dbus, dar dbus nu este configurat corect pe versiunea de server a sistemului de operare.

Toate aceste teste sunt pe instalații noi, vechi de nu mai mult de câteva zile și curate în afară de adăugarea câtorva pachete.

Știe cineva ce se întâmplă aici? Ajutorul ar fi foarte apreciat.

Mai multe jurnale: Pe serverul Ubuntu 20.04 există o eroare în jurnalele la schimbarea orei, pe desktopul 20.04 același jurnal de serviciu arată succes. Eroarea:

root@oxpad:~# stare systemctl systemd-timedated
â systemd-timedated.service - Serviciu de oră și dată
     Încărcat: încărcat (/lib/systemd/system/systemd-timedated.service; static; prestabilit furnizor: activat)
     Activ: inactiv (mort)
       Documente: man:systemd-timedated.service(8)
             barbat: ora locala(5)
             https://www.freedesktop.org/wiki/Software/systemd/timedated

11 august 02:02:33 oxpad systemd[1]: systemd-timedated.service: Succeeded.
11 august 02:02:38 oxpad systemd[1]: Serviciul Ora și Data începerii...
11 august 02:02:38 oxpad systemd[1]: Serviciul Ora și Data început.
11 august 02:02:38 oxpad systemd-timedated[35339]: Nu s-a putut seta fusul orar: Permisiune refuzată
11 august 02:02:53 oxpad systemd-timedated[35339]: Nu s-a putut seta fusul orar: Permisiune refuzată
drapel cn
Notă: Setarea fusului orar cu `dpkg-reconfigure tzdata` funcționează, totuși selectarea unui fus orar într-un meniu interactiv nu este foarte automată.
drapel cn
Un link interesant, dar nu deosebit de util: https://www.freedesktop.org/wiki/Software/systemd/timedated/
Puncte:1
drapel jp

Nu v-am putut duplica eroarea pe o imagine simplă Ubuntu 20.04. Ar trebui să verificați dacă comanda se schimbă /etc/timezone si /etc/localtime link simbolic. De asemenea, verificați care sunt permisiunile pentru acele fișiere. Dacă alergi selinux sau alt software de securitate, atunci aceasta este o altă cauză posibilă a erorii.

root@ubuntu:~# dată
Miercuri, 11 august 16:05:25 UTC 2021
root@ubuntu:~# timedatectl
               Ora locală: miercuri 2021-08-11 16:05:28 UTC
           Ora universală: miercuri 2021-08-11 16:05:28 UTC
                 Ora RTC: miercuri 2021-08-11 16:05:29
                Fus orar: etc/UTC (UTC, +0000)
Ceas de sistem sincronizat: da
              Serviciu NTP: activ
          RTC în TZ local: nr
root@ubuntu:~# cat /etc/timezone
Etc/UTC
root@ubuntu:~# ls -l /etc/localtime
lrwxrwxrwx 1 root root 29 august 11 15:39 /etc/localtime -> ../usr/share/zoneinfo/Etc/UTC


root@ubuntu:~# timedatectl set-timezone Europe/Londra
root@ubuntu:~# dată
Miercuri, 11 august, 17:05:51 BST 2021
root@ubuntu:~# timedatectl
               Ora locală: miercuri 11.08.2021 17:05:59 BST
           Ora universală: miercuri 2021-08-11 16:05:59 UTC
                 Ora RTC: miercuri 11-08-2021 16:06:00
                Fus orar: Europe/London (BST, +0100)
Ceas de sistem sincronizat: da
              Serviciu NTP: activ
          RTC în TZ local: nr
root@ubuntu:~# cat /etc/timezone
Europa/Londra
root@ubuntu:~# ls -l /etc/localtime
lrwxrwxrwx 1 root root 35 august 11 17:05 /etc/localtime -> ../usr/share/zoneinfo/Europe/London

Acești pași reprezintă o altă modalitate de a automatiza schimbarea fusului orar.

  1. Actualizați /etc/localtime link simbolic
  2. Alerga dpkg-reconfigure --frontend noninteractive tzdata

Puteți vedea că acești pași vor actualiza /etc/timezone dosar de asemenea.

root@ubuntu:~# dată
Miercuri, 11 august 16:09:30 UTC 2021
root@ubuntu:~# ln -f -s /usr/share/zoneinfo/Europe/London /etc/localtime
root@ubuntu:~# dpkg-reconfigure --frontend noninteractive tzdata

Fus orar prestabilit actual: „Europe/London”
Ora locală este acum: miercuri, 11 august, 17:10:30 BST 2021.
Ora universală este acum: miercuri, 11 august, 16:10:30 UTC 2021.

root@ubuntu:~# dată
Miercuri, 11 august, 17:10:34 BST 2021
root@ubuntu:~# cat /etc/timezone
Europa/Londra
root@ubuntu:~# ls -l /etc/localtime
lrwxrwxrwx 1 root root 33 august 11 17:10 /etc/localtime -> /usr/share/zoneinfo/Europe/London
drapel cn
În ceea ce privește actualizarea link-ului simbolic și rularea dpkg-reconfigure, asta este de fapt ceea ce am făcut și funcționează. Mulțumesc pentru sugestie, va ajuta viitorii cititori!
drapel cn
În ceea ce privește verificarea permisiunilor și Selinux, am făcut asta, dar nu m-am bucurat. Ceea ce voi încerca în continuare este să schimb serviciul care lansează demonul timedatectl, astfel încât să ruleze în strace, astfel încât să pot vedea ce face. Aș prefera să ajung la rădăcina problemei decât să o rezolv.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.