[Primipassi] orologio

Francesco Poli frx@firenze.linux.it
Gio 3 Apr 2003 20:55:50 CEST


On Thu, 3 Apr 2003 05:43:17 +0200 jo wrote:

> 
> intanto grazie mille...

Di nulla, spero che intervenga anche qualche veterano del FLUG (loro ne
sanno *molto* piu` di me su innumerevoli argomenti!).

> mi ha confuso il fatto che mi dicesse
> Europa/roma e l'ora continuava ad essere sballata,

Un attimo, il fatto che il sistema sappia in che fuso orario si trova,
non significa che sappia che ore sono... Gli orologi hardware non sono
orologi nucleari, sono orologi al quarzo e neanche precisissimi. Per
questo ti suggerivo di tenerlo sincronizzato con uno o piu` time server
(per esempio usando chrony).

> quindi l'ora che vedo in gnome e programmi e' "di sistema" e quello
> hw, quello che setto anche dal bios.

Si`: l'orologio hardware (anche detto orologio CMOS oppure orologio del
BIOS) viene usato al bootstrap di GNU/Linux per impostare l'orologio di
sistema e poi non serve piu`. Durante il funzionamento del sistema cio`
che conta e` il system time.

> 
> > Questo metodo e` un po' rozzo perche' genera delle discontinuita`
> > nell'orologio di sistema.
> 
> cioe'? cosa intendi per discontinuita', che si perde qualche cosa,
> ritardi o accellerate?

Intendo che se il tuo sistema crede che siano le 19;13 e root da` il
comando

# date --set='19:16:10'

il sistema vede un `salto temporale' (in questo caso in avanti).
Per salti in avanti sufficientemente lunghi ti parte anche lo
screensaver! (se sei dentro una sessione X e un qualche salvaschermo e`
configurato...)   ;-)

> con win usavo un programmino che settava con un orologio nucleare che
> sta all'unife... era carino, ma arrivavo tardi lo stesso a molte punte
> :)

Chrony fa una cosa analoga: ogni volta che sei online si collega ad uno
o piu` time server di tua scelta (ne esistono molti) e calcola l'errore
sistematico del tuo orologio. Compensa poi gradualmente (senza salti!)
questo errore sulla base dei dati raccolti.

> quindi potrei avere l'ora hw su
> 
> hwclock -a --utc

Dunque, con un

# hwclock --systohc --utc

si fa in modo che l'orologio hardware memorizzi l'ora UTC (almeno credo,
io non sono mai passato da una modalita` all'altra...). Questo basta
farlo una volta: finche' non userai l'opzione --localtime continuera` a
valere la tua decisione di avere l'orologio CMOS su l'ora UTC. Se invece
vuoi tornare ad avere l'ora locale sull'orologio hardware, ci vuole un

# hwclock --systohc --localtime

(In effetti anche le opzioni --set oppure --adjust vanno bene, per
ulteriori dettagli leggiti la pagina di manuale di hwclock)

> 
> e poi settare correttamente solo l'ora di sistema? carino. Anche se mi
> piace avere l'ora del bios e di gnome uguale.

L'unica utilita` e` se altri sistemi operativi installati sulla macchina
richiedono l'orologio CMOS impostato sull'ora locale. Se non hai questo
problema, e` meglio avere l'orologio hardware su UTC. Infatti, dopo un
passaggio da ora estiva ad ora invernale o viceversa, il sistema sa che
e` cambiato il fuso orario, ma l'orologio CMOS no e quindi

* andra` aggiornato (con hwclock --systohc) prima che la macchina faccia
un nuovo bootstrap, se segna l'ora locale (altrimenti al boot verra`
letta un'ora di un fuso, ma verra` interpretata come se fosse di un
altro fuso generando un errore di 1 h, in piu` o in meno).
* continuera` invece a segnare un'ora corretta, se segna l'ora UTC (al
successivo bootstrap verra` interpretata come ora UTC e ad essa verra`
aggiunto il corretto incremento per ottenere l'ora di sistema).

-- 
      Francesco Poli      <frx@firenze.linux.it>
======================================================
You're compiling a program and, all of a sudden, boom!
  -- from APT HOWTO, version 1.8.0



Maggiori informazioni sulla lista primipassi