Questa mattina la mia Fedora19 si è svegliata con un’ora indietro.
Cosa le è preso?
Come si rimedia?
$ su - -c 'NTPD=`ps -e | grep ntpd`; if "$NTPD" != "" ]; then service ntpd stop; fi; ntpdate ntp1.ien.it && hwclock --systohc; if "$NTPD" != "" ]; then service ntpd start ; fi';
Grazie, ha funzionato perfettamente.
Però, mi piacerebbe anche capire quello che ho scritto nel terminale.
P.S.:
Non ho ricevuto nessuna notifica di risposta, eppure risulta impostata.
su - -c #esegui, diventando root, il comando che segue:
’ #inizio del comando eseguito come root
NTPD=ps -e | grep ntpd
# assegna alla variabile NTPD l’output del comando ps -e | grep ntpd (quello tra gli apici “storti”)
#N.B. ps -e vuol dire elenca i processi attivi; | che l’output del comando precedente (ps -e) diventa l’input del successivo (grep ntpd)
#grep ntpd vuol dire elenca (dall’outpus di ps -e) solo la/le righe che contengono la parola ntpd
A questo punto la variabile NTPD non è vuota ("$NTPD" != “”) solo se il processo nptd non è attivo
[edit: la riga precedente è errata (vedi post 11-12). La riga corretta è
A questo punto la variabile NTPD non è vuota ("$NTPD" != “”) solo se il processo nptd è attivo
fine edit]
if “$NTPD” != “” ]; then # se il processo nptd è attivo
service ntpd stop; #allora lo fermo
#N.B. per Fedora sarebbe meglio “systemctl stop ntpd.service”, ma “service ntpd stop” è compatibile sia con Fedora che con Ubuntu
fi; # fine dell’if
ntpdate ntp1.ien.it && hwclock --systohc;# aggiorna l’ora utilizzando il server ntp1.ien.it
in particolare ntpdate ntp1.ien.it sincronizza il System Time con l’ora fornita da ntp1.ien.it,
mentre hwclock --systohc sincronizza l’orologio hardware con il System Time.
&& vuol dire che la seconda istruzione (hwclock --systohc) viene eseguita solo se la prima (ntpdate ntp1.ien.it) è andata a buon fine
if “$NTPD” != “” ]; then # se il processo nptd era attivo
service ntpd start ; #allora lo faccio ripartire
#N.B. per Fedora sarebbe meglio “systemctl start ntpd.service”, ma “service ntpd start” è compatibile sia con Fedora che con Ubuntu
fi; # fine dell’if
’ #fine del comando eseguito come root
N.B. il punto e virgola ( separa due istruzioni, come se andassi a capo (ma non puoi andare a capo dentro gli apici).
Mi accodo: ammiro lo script di Marco Motta e lo eseguirò anch’io (dato che in fase di installazione ho scelto di NON sincronizzare la mia macchina con un server ‘orario’, a motivo che qualche volta sono off-line e questo pregiudicherebbe l’avvio del sistema, in attesa della connessione – se sbaglio, mi corrigerete…), però andando oltre Zievatron vorrei capire come mai la mia Linuxbox si sia ‘starata’: a mia memoria non era MAI capitato.
In particolare, l’indicazione presente nell’angolo a destra del pannello inferiore risulta “indietro” di ben 2 ore.
Quando vado su “Regola data e ora”, però, l’orologio visualizza l’ora esatta (cioè, appunto 2 ore più avanti di quella che appare in basso a destra nella visualizzazione standard).
Utilizzo il kernel 3.10.10-200.fc19.x86_64 su un processore AMD Phenom II (4 core) e come DE ho KDE 4.10.5-1.fc19, perfettamente aggiornato.
Grazie
@aiace controlla che non stia visualizzando l’ora UTC
Impostazioni di orologio digitale → Fusi orari → Impostazione predefinita orologio
Controlla che sia su “Locale” e non su “UTC”.
[quote=tempus]@aiace controlla che non stia visualizzando l’ora UTC
Impostazioni di orologio digitale → Fusi orari → Impostazione predefinita orologio
Controlla che sia su “Locale” e non su “UTC”.[/quote]
grazie, tempus: infatti era spuntato ANCHE utc. L’ho eliminato ed è tornato l’orario normale anche nel pannello inferiore.
Ma come gli è venuto in mente di attivarsi su UTC?
No, scherzi a parte: da cosa può dipendere questo cambiamento improvviso? Fino a ieri pomeriggio non c’era nessuna anomalia nella visualizzazione dell’ora: mi devo preoccupare e pensare a qualche sottospecie di virus?
CIAO
Probabilmente era già settato così, e hai avviato Windows.
Se l’opzione per UTC è attiva, ogni volta che riavvio in Windows, e poi riavvio in Linux, l’ora diventa sballata di un’ora o due, a seconda che sia in vigore l’ora serale (UTC+1) o quella legale (UTC+2).
Se è attivo l’aggiornamento via internet dell’ora, questa viene subito corretta, altrimenti (o se internet non è disponibile), l’errore rimane.
Se l’opzione relativa ad UTC non è attiva, l’errore non dovrebbe presentarsi.
Appunto per questo mi chiedo come abbia fatto a cambiare da solo.
Tieni presente che NON c’è nessun Windows sul mio PC!
E’ un comportamento dell’applet, difficile da isolare (per via della diffusa concomitante presenza di altro sistema operativo - che tratta diversamente l’ora - o di peculiari opzioni in BIOS: si tende ad attribuire altrove la colpa di questo comportamento). Dovrebbe presentarsi solo sull’applet, magari a seguito di alcuni update di KDE. Anche l’eventuale flag “Mostra fuso orario” (se impostato, di solito non è impostato) alle volte non è consistente, ma ho notato questo solo in seguito ad alcuni (rari) update. Sembra un “reset” dell’applet “Orologio digitale” (
$ date
in tutti quei casi riporta l’ora corretta; “Regola data e ora” riporta l’ora e il fuso corretti)
UTC puoi lasciarlo spuntato, basta che nel menù a tendina tu vada a selezionare “Locale”.
EDIT: ci sono stati due bug (risolti) su due componenti coinvolti (vedi https://bugzilla.redhat.com/show_bug.cgi?id=906972 e https://bugzilla.redhat.com/show_bug.cgi?id=906854), controlla
$ ll /etc/localtime
(se è un symlink o no). Considera che, se più fusi sono impostati, potresti aver “sorvolato” col mouse sull’orologio digitale e inavvertitamente mosso la rotellina del mouse (della serie: l’ovvio non lo controlla mai nessuno…)
[quote=marcomotta]…
A questo punto la variabile NTPD non è vuota ("$NTPD" != “”) solo se il processo nptd non è attivo
if “$NTPD” != “” ]; then # se il processo nptd è attivo … [/quote]
Mi sembra una contraddizione.
Hai detto che la variabile non è vuota se il processo non è attivo.
Poi interpreti la variabile vuota come indicante che il processo è attivo. :gratt:
Poi, vedo che potete regolare l’orologio anche senza agire da terminale, ma non capisco dove trovate le impostazioni dell’orologio, io non le vedo da nessuna parte. :gratt:
[quote=Zievatron][quote=marcomotta]…
A questo punto la variabile NTPD non è vuota ("$NTPD" != “”) solo se il processo nptd non è attivo
if “$NTPD” != “” ]; then # se il processo nptd è attivo … [/quote]
Mi sembra una contraddizione.
Hai detto che la variabile non è vuota se il processo non è attivo.
Poi interpreti la variabile vuota come indicante che il processo è attivo. :gratt:
[/quote]
Pardon, hai ragione (la fretta):
A questo punto la variabile NTPD non è vuota ("$NTPD" != “”) solo se il processo nptd è attivo
if “$NTPD” != “” ]; then # se il processo nptd è attivo …
[quote]
Poi, vedo che potete regolare l’orologio anche senza agire da terminale, ma non capisco dove trovate le impostazioni dell’orologio, io non le vedo da nessuna parte. :gratt:[/quote]
Con gnome:
click sull’orologio; Impostazioni data e ora; sblocca; (password di root); Off su ora da rete; modifichi l’ora; se vuoi, ripristini On su ora da rete.
Per l’opzione UTC: system-config-date (password di root); Fuso orario; togli la spunta su “L’orologio di sistema usa UTC”
[quote=marcomotta]Con gnome:
click sull’orologio; Impostazioni data e ora; sblocca; (password di root); Off su ora da rete; modifichi l’ora; se vuoi, ripristini On su ora da rete.
Per l’opzione UTC: system-config-date (password di root); Fuso orario; togli la spunta su “L’orologio di sistema usa UTC”[/quote]
Ah! Allora non posso farlo perché uso XFCE?
No. Sono io che non so dirti come fare con XFCE perché uso gnome…