Newsgroup: it.comp.os.linux.iniziare
Titolo: Ubuntu 18.04.6 LTS, orario un'ora avanti...?

Ciao,
 
perché il mio Ubuntu 18.04.6 LTS crede di essere un'ora avanti?
timedatectl mostra gli orari corretti, sia local che universal. date invece 
mostra un'ora più avanti, assieme all'orologio nel terminale grafico. Perché?
 
 
r2-d2@deathstar:~$ timedatectl
                       Local time: Thu 2022-07-14 11:58:15 CEST
                   Universal time: Thu 2022-07-14 09:58:15 UTC
                         RTC time: Thu 2022-07-14 09:58:15
                        Time zone: Europe/Rome (CEST, +0200)
        System clock synchronized: yes
systemd-timesyncd.service active: yes
                  RTC in local TZ: no
 
r2-d2@deathstar:~$ date
Thu Jul 14 12:58:19 UTC 2022


Perché hai windows in dual boot (o simile), soluzione:
timedatectl set-local-rtc 1 --adjust-system-clock
Ciao!

Ly wrote on 7/14/22 13:03:

Grazie.
Macchina virtuale cui accedo via Citrix. Nada, non funziona. Anche dopo reboot, 
tutto come prima.


pare che date non stia leggendo il time zone corretto e stia facendo per 
questo del casino. vedi che ti da utc mentre il tuo timezone secondo 
timedatectl è cest.

rootkit wrote on 7/15/22 11:05:

No, in timedatectl il CEST è corretto, 2 ore in più dell'UTC:
           Local time: ...11:58:15 CEST
       Universal time: ...09:58:15 UTC
 
Invece date mi dice 12:58:19 ??UTC??, 1 ora più di CEST, 3 ore più del vero UTC. 
Che accidenti gli piglia?


appunto, è date che da i numeri. quale timezone hai impostato in 
~/.profile?

rootkit wrote on 7/15/22 12:05:

In ~/.profile non ho nulla che riguardi la timezone.
 
La vedo solo qui:
~$ cat /etc/timezone
Europe/Rome
 
Non capisco da dove timedatectl e date possano leggere valori diversi.
 

 Thu Jul 14 12:58:19 UTC 2022
 
Trovo strano che il comando date ti restituisca l'orario espresso in
UTC.
 
Da me per ottenere l'ora legale dell'europa centrale:
 
$ date
ven 15 lug 2022, 13:08:58, CEST
 
Per ottenere l'orario con il tempo coordinato universale (UTC):
 
$ date -u
ven 15 lug 2022, 11:09:22, UTC
 
 
 

 ven 15 lug 2022, 13:08:58, CEST
 
Ne approfitto per chiedere: e perche' mai la Debian usa il punto
anziche' i due punti? questo lo fa gia' da piu' di due anni.
$: date
ven 15 lug 2022, 14.45.13, CEST
 
per avere i due punti devo chiedere il formato +%c, che pero'
risulta come il tuo ma senz'alcuna virgola ciao
 
-- 
Yoda
 


Perché hai il locale sbagliato.  Cosa ti ritorna il comando "locale"?
 
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   < 
http://giovanni.homelinux.net/
 >

Perché hai il locale sbagliato.  Cosa ti ritorna il comando "locale"?
 
La mia Debian, con locale it_IT.UTF-8 fa come quella di Yoda, mette i
punti normali.
 
-- 
Ci sono 10 tipi di persone al mondo: quelle che capiscono il sistema binario
e quelle che non lo capiscono.

 punti normali.
 
Mi pare ci sia qualcosa che non quadra; in
$ man date
trovo scritto:
 
%T     time; same as %H:%M:%S
 
ed in effetti a me il comando "date" restituisce l'ora suddivisa dai due
punti:
 
$ date +%T
18:02:19
 
Tu e Yoda con quel comando cosa ottenete?
 

 
 
Il server dell'Università mette i due punti ma ha locale en_US.UTF8


Addi' 15 lug 2022 16:03:30, Tony Borlini scrive:

Ovviamente i due punti. Il passaggio dallo standard dei due punti a
quello del punto credo sia qualcosa cambiata (Europa?) da poco,
perche' si comincia a vedere anche non solo coi computer. E' chiaro
che la scelta la fa la Debian, in quale file non lo so, pensavo ne
sapeste qualcosa voi, ciao
 
-- 
Yoda
 

Tu e Yoda con quel comando cosa ottenete?
 
Uguale a te.
Probabilmente c'è qualcosa di diverso nella definizione del locale.


 mette i punti normali.
 
Il tragico e' quando escludi i secondi, perche' allora c'e'
l'ulteriore bisticcio per il separatore decimale -> ERGO non si
capisce se per caso 18.50 indica le sei e mezzo o le sette meno
dieci ciao
 
-- 
Yoda
 

 Probabilmente c'è qualcosa di diverso nella definizione del locale.
 
In effetti Giovanni aveva suggerito di controllare col comando "locale".
 
A me il comando
$ locale
 
per quanto riguarda l'LC_TIME, restituisce (come anche x le altre voci)
 
LC_TIME="it_IT.UTF-8"
 
Già appurato che %T nel comando "date" è equivalente a "%H:%M:%S", e
quindi usa i due punti, se ora guardo nel file
 
/usr/share/i18n/locales/it_IT
 
nella sezione riguardante "LC_TIME" trovo scritto:
 
d_t_fmt "%a %-d %b %Y, %T"
d_fmt   "%d//%m//%Y"
t_fmt   "%T"
am_pm   "";""
t_fmt_ampm ""
date_fmt   "%a %-d %b %Y, %T, %Z"
 
ed in effetti il comando date mi scrive correttamente l'ora con i due
punti:
 
$ date
ven 15 lug 2022, 19:38:58, CEST
 
 
Se invece si usasse "en_US.UTF8", come nel caso dell'Università di
Giovanni e credo anche nel caso di R2-D2, vedo che il separatore delle
ore, minuti e secondi resta sempre il due punti, ma di default le ore
sono espresse con %r , quindi non con le ore da 0 a 24 ma solo fino alle
12 e poi aggiungendo AM oppure PM a seconda se sia prima o dopo
mezzogiorno.
 

 Perché hai il locale sbagliato.  Cosa ti ritorna il comando "locale"?
 
Ma no quando mai! lo saprei me ne sarei accorto. Invece ho visto da
Tony dove guardare, percio' ecco il punto singolo e le virgole:
 
$: grep date_fmt /usr/share/i18n/locales/it_IT
date_fmt   "%a %e %b %Y, %H.%M.%S, %Z"
 
ciao e grazie
 
-- 
Yoda
 

<U%><UH><U.><U%><UM><U.><U%><US><U,><U ><U%><UZ>


><U%><UH><U.><U%><UM><U.><U%><US><U,><U ><U%><UZ>
 
Ho guardato adesso nella bullseye, ma anche li' sono come qui nella
buster, ma tu che Debian hai? forse sara' per la tastiera? io ho
un'italiana ma la uso come US ciao
 
-- 
Yoda
 

un'italiana ma la uso come US ciao
 
Ho ancora la Stretch.
E' ora di aggiornare :-)
 
Ho guardato in una macchina virtuale con Buster, ha la stringa normale
come la tua.



Secondo la man page di "date":
 
TZ     Specifies the timezone, unless
overridden by command line parameters.
If neither is specified, the setting
from /etc/localtime is used.
 
Nota "/etc/localtime", non "/etc/timezone".
 
Almeno su Fedora, dove anche "/etc/localtime"
pare un file binario.
 
Non saprei come venga modificato, ma credo
tramite qualche tool di sistema.
 
bye,
 
-- 
 
piergiorgio

 tramite qualche tool di sistema.
 
Da me su Ubuntu 22.04 (ma se non ricordo male non era differente nella
versione 18.04.6, quella che sta ora usando l'OP) la timezone è
impostata su Roma:
 
 
$ cat /etc/timezone 
Europe/Rome
 
e vedo che, se non modifico nulla, corrisponde a quanto è già impostato
quando do il comando:
 
$ sudo dpkg-reconfigure tzdata
 
che infatti mi restituisce:
 
Current default time zone: 'Europe/Rome'
Local time is now:      Sat Jul 16 15:44:01 CEST 2022.
Universal Time is now:  Sat Jul 16 13:44:01 UTC 2022.
 
Il file "localtime" è un collegamento:
 
$ ls -l /etc/localtime
lrwxrwxrwx 1 root root 31 16 lug 15.44 \
/etc/localtime -> /usr/share/zoneinfo/Europe/Rome
 
Quindi nel mio caso timezone e localtime corrispondono:
 
$ diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
I file /etc/localtime e /usr/share/zoneinfo/Europe/Rome sono identici
 
 
 

 I file /etc/localtime e /usr/share/zoneinfo/Europe/Rome sono identici
 
Ovviamente sono identici, uno e` il
link all'altro...
Sarebbe stato interessante vedere cosa
succede se "/etc/timezone" ha qualcosa
di diverso.
Influenza "date" oppure e` solo un
riferimento per il sistema?
 
Da me non esiste "/etc/timezone", ma solo
"/etc/localtime" che e` un link come nel
tuo caso.
 
Cosa dice la man page di "date", al riguardo
la time zone?
 
Anche in Ubuntu fa riferimento a "/etc/localtime"?
 
Se si, allora forse l'OP ha un link sbagliato o
non esistente per "/etc/localtime".
 
bye,
 
-- 
 
piergiorgio

 Anche in Ubuntu fa riferimento a "/etc/localtime"?
 
Vedi tu, questo è il man date di Ubuntu 22.04
https://termbin.com/2r7r
 

 link all'altro...
 
Scusate mi sono espresso male, volevo solo dire che /etc/localtime e
/etc/timezone sono entrambi impostati su 'Europe/Rome'.
 

 
https://termbin.com/2r7r
 
 
Ma sono dei cialtroni!
 
Usano "TZ" negli esempi, senza spiegare
cosa sia o da dove venga...
 
Sulla man page che ho qui (coreutils 9.0,
invece di 8.32) c'e`:
 
ENVIRONMENT
        TZ     Specifies the timezone, ...
 
Mi pare piu` appropriato...
 
Invece che dice "info '(coreutils) date invocation'"?
Che dovrebbe essere il riferimento completo...
 
bye,
 
-- 
 
piergiorgio

 vero UTC. Che accidenti gli piglia?
 
Una spiegazione puo' essere l'orologio hardware (BIOS o UEFI
che sia) che e' settato su local, dunque date aggiunge solo l'
ora legale. Guarda un possibile schema.
 
sistema:
RTC = 14:00:00 -> UTC = 12:00:00 ...1h fuso + 1h ora legale
 
date:
RTC = 14:00:00 -> CEST= 15:00:00 ...1h ora legale
 
Ad esempio, quando installi una nuova distro ti viene chiesto se il
BIOS e' su UTC o su LOCAL proprio per questo ciao
 
-- 
Yoda
 

 Che dovrebbe essere il riferimento completo...
 
Normally, ‘date’ uses the time zone rules indicated by the ‘TZ’
environment variable, or the system default rules if ‘TZ’ is not set.
*Note Specifying the Time Zone with ‘TZ’: (libc)TZ Variable.
 
Poi qui:
https://www.gnu.org/software/libc/manual/html_node/TZ-Variable.html#TZ-Variable
 
 
si precisa:
 
21.5.6 Specifying the Time Zone with TZ
...
If the TZ environment variable does not have a value, the operation
chooses a time zone by default. In the GNU C Library, the default time
zone is like the specification ‘TZ=:/etc/localtime’ (or
‘TZ=:/usr/local/etc/localtime’, depending on how the GNU C Library was
configured; see Installing the GNU C Library). Other C libraries use
their own rule for choosing the default time zone, so there is little we
can say about them.
 
If characters begins with a slash, it is an absolute file name;
otherwise the library looks for the file
/usr/share/zoneinfo/characters. The zoneinfo directory contains data
files describing local time zones in many different parts of the
world. The names represent major cities, with subdirectories for
geographical areas; for example, America/New_York, Europe/London,
Asia/Hong_Kong. These data files are installed by the system
administrator, who also sets /etc/localtime to point to the data file
for the local time zone. The files typically come from the Time Zone
Database of time zone and daylight saving time information for most
regions of the world, which is maintained by a community of volunteers
and put in the public domain.

 can say about them.
 
Questo sembra confermare che, se nel caso
dell'OP, /etc/localtime ha problemi, si
ritrova con un "date" UTC invece di CEST.
 
bye,
 
-- 
 
piergiorgio