Visualizzare l'ora attuale

Per visualizzare l'ora in Debian GNU/Linux, usare il comando date; senza argomenti mostra l'ora di sistema rispettando il fuso orario attualmente definito.

Per visualizzare l'ora nel fuso orario UTC, usare il comando date --utc (o in breve date -u). Vedere la pagina di manuale di date.

Impostare l'ora manualmente

Quando si imposta l'ora di sistema manualmente usando date direttamente, il formato necessario per specificare l'orario può risultare difficile da capire (per convenzione POSIX deve essere MMGGhhmmAAAA). Tuttavia quando si usa l'argomento --set, date accetta la data e l'ora in molti formati. Per capire uno molto utile tra i formati possibili si può leggere la pagina di manuale di date, oppure usare l'esempio sottostante. Negli esempi sottostanti l'argomento --set è specificato nel formato esteso dello standard ISO 8601, come AAAA-MM-GG per Anno-Mese-?GiornoDelMese, e l'orario come HH:MM:SS usando il formato 24 ore. Gli zeri iniziali sono significativi.

date --set 1998-11-02
date --set 21:08:00

I due comandi sopra citati impostano la data di sistema al 2 novembre 1998 e l'ora di sistema alle nove e otto minuti di sera.

Nota bene, usare il comando date imposta solo l'ora di sistema in esecuzione (cioè l'orologio software), ma non ha alcun effetto sull'orologio hardware sottostante (alias RTC per "Real Time Clock"). Quando il sistema si avvia non ha alcuna idea del concetto di tempo assoluto e popolerà l'ora di sistema con la data e l'ora letta dell'orologio hardware, perciò per assicurare che l'ora impostata usando date venga mantenuta per i riavvii successivi essa deve essere salvata nell'orologio hardware.

La maggior parte degli ambienti desktop fornisce un'utilità di configurazione della data e ora. Vedere anche il programma time-admin nel pacchetto gnome-system-tools.

Impostare l'orologio hardware

Per scrivere l'ora di sistema corrente nell'orologio hardware in modo che possa essere recuperata nei successivi riavvii del sistema, correggere l'ora di sistema come descritto sopra, poi usare il comando hwclock --systohc per salvarla nell'hardware (vedere la pagina di manuale di hwclock per ulteriori opzioni).

I rilasci moderni di Debian (2.2 e successivi) salvano automaticamente l'ora di sistema nell'orologio hardware durante gli spegnimenti senza problemi e impostano l'ora di sistema dall'orologio hardware all'avvio. Ciò viene fatto dallo script /etc/init.d/hwclock.sh.

Impostare l'ora automaticamente

Il protocollo usato per impostare l'ora è il Network Time Protocol o NTP. Per impostare l'ora automaticamente è necessario l'accesso ad un server NTP. Un server di questo tipo può essere fornito dalla propria rete locale, ma la maggior parte delle persone accederà ad un server NTP via Internet.

In Internet ci sono server per l'orario che forniscono l'ora corretta. È possibile che il proprio ISP fornisca un tale servizio e sarebbe pertanto la fonte più vicina e più accurata. Benché esistano molti server NTP indipendenti a cui ci si può connettere, la fonte migliore è http://pool.ntp.org.

Installare client NTP

Debian fornisce diversi pacchetti per installare un client NTP, a seconda della versione del sistema operativo. A partire da Debian 12, il client NTP predefinito è systemd-timesyncd di Systemd.

Si può usare chrony, ntp o ntpsec con Systemd. A partire da Debian 12, ntp è stato sostituito da ntpsec; vedere Modifiche ai pacchetti che impostano l’orologio di sistema. Systemd non richiede che venga eseguito systemd-timesyncd.

Pacchetto chrony

chrony è un'implementazione di NTP indipendente rilasciato sotto licenza GNU GPL v2.

Per installare chrony usare:

apt-get install chrony

Per configurare il pacchetto chrony, modificare /etc/chrony/chrony.conf.

Pacchetto ntp

ntp è un port dell'implementazione di riferimento originale.

Per installare ntp usare:

apt-get install ntp

Per configurare il pacchetto ntp, modificare /etc/ntp.conf.

Pacchetto ntpsec

ntpsec è un fork con sicurezza rafforzata dell'implementazione di riferimento. In Debian Bookworm (e successive) NTP è un pacchetto di transizione a ntpsec.

Per installare ntpsec usare:

apt-get install ntpsec

Per configurare il pacchetto ntpsec, modificare /etc/ntpsec/ntp.conf

systemd-timesyncd

systemd-timesyncd è l'implementazione di Systemd del protocollo SNTP. Se Systemd è installato, si può abilitare il client NTP usando sudo timedatectl set-ntp true.

Per configurare timesyncd, modificare /etc/systemd/timesyncd.conf.

Gestore pool NTP

Si possono usare fonti locali più vicine. Cambiare la riga server pool.ntp.org in server XX.pool.ntp.org, dove XX è il codice a due caratteri del proprio continente o della propria nazione.

Per migliorare la precisione si possono includere righe con server extra come

server 0.XX.pool.ntp.org
server 1.XX.pool.ntp.org
server 2.XX.pool.ntp.org

Incrementare il numero ad ogni riga aggiunta.

Si devono usare almeno 3 fonti di orario quando si usa un pool. Come dice il detto: "una persona con un orologio sa che ora è, una persona con due orologi non è mai sicura".

Cambiare "UTC" in "LOCAL" se non si desidera che l'orologio hardware sia impostato all'ora UTC:

Strategia per dual boot con Windows

Se la propria macchina ha l'avvio doppio con Windows e Linux, allora si potrebbero avee problemi perché Windows usa l'ora locale per l'orologio hardware, mentre Linux e Debian usano UTC per l'orologio hardware. In questo caso si hanno due opzioni. La prima è di usare l'ora locale per l'orologio hardware e impostare Debian in modo da usare l'ora locale. La seconda è di usare UTC per l'orologio hardware e impostare Windows per usare UTC.

Se è possibile scegliere, si dovrebbe preferire la seconda opzione di usare UTC, perché UTC non è affetto dall'ora legale e da cambiamenti di fuso orario nei viaggi. Un orologio hardware configurato per UTC avanzerà in modo monotono e non salterà avanti e indietro per l'ora legale e i cambiamenti di fuso orario.

Orologio hardware con l'ora locale

Se l'orologio hardware della macchina è impostato all'ora locale, allora si deve modificare la configurazione di Debian. Debian usa il file /etc/adjtime per mantenere le informazioni sul fuso orario dell'orologio hardware:

0.000000 14602224559 0.000000
1460224559
UTC

Per modificare le impostazioni, modificare il file /etc/adjtime e cambiare "UTC" in "LOCAL" usando il proprio editor preferito. Per modificare il file è necessario usare sudo o su.

Orologio hardware con l'ora UTC

Se l'orologio hardware della macchina è impostato all'ora UTC, allora si deve modificare la configurazione di Windows. Windows usa il registro per memorizzare le informazioni sul fuso orario dell'orologio hardware. Il valore predefinito è localtime, se la chiave di registro non è presente.

Per modificare l'impostazione, eseguire regedit come amministratore. Spostarsi su HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation. Creare una chiave con nome RealTimeIsUniversal e tipo QWORD e impostare il suo valore a 1.

Collegamenti esterni

Gentoo Wiki System Time

Network Time Protocol

8.9. Other Configurations: Time Synchronization, Logs, Sharing Access… - Il Debian Administrator's Handbook


CategorySystemAdministration