## page was renamed from Server/SincronizzazioneTempoNtp
#format wiki
#LANGUAGE it
<
>
<>
<>
= Introduzione =
Questa pagina fornisce informazioni utili riguardo alla modalità attraverso la quale '''Ubuntu''' gestisce il fuso orario (''timezone'') impostando la sincronizzazione dell'ora di sistema tramite '''timedatectl'''. Questa è un'utilità integrata a [[AmministrazioneSistema/Terminale|riga di comando]] nel gestore di sistema [[AmministrazioneSistema/Systemd|systemd]], presente in modo predefinito su '''Ubuntu''' e nella maggior parte delle distribuzioni GNU/Linux recenti.
La sua funzione è quella di fornire un'interfaccia all'amministratore di sistema per interrogare e modificare le impostazioni locali, tra cui:
* Lettura e modifica manuale della data e dell'ora.
* Lettura e modifica del fuso orario (timezone).
* Attivazione o disattivazione del servizio di sincronizzazione dell'ora.
{{{#!wiki important
A partire da Ubuntu 20.04, l'utilizzo del comando `ntpdate` e del vecchio demone ntpd è ufficialmente deprecato e obsoleto.<
>
L'utilizzo di ntpdate risulta ridondante e genera conflitti diretti con gli attuali gestori di sistema integrati in systemd.<
>
La vecchia procedura manuale con il comando `sudo ntpdate pool.ntp.org` va sostituita con il riavvio del servizio nativo (comando `sudo systemctl restart systemd-timesyncd`).<
>
È fortemente sconsigliata l'installazione del pacchetto ''ntpdate'' tramite apt su sistemi operativi recenti.
}}}
= Prerequisiti =
Trattandosi di uno strumento nativo di '''[[AmministrazioneSistema/Systemd|systemd]]''', la sua gestione richiede particolare cautela. Di seguito i dettagli operativi.
{{{#!wiki important
Poiché systemd è il gestore di avvio ([[https://it.wikipedia.org/wiki/Init|init system]]) e il demone principale che controlla l'intero funzionamento di Ubuntu 22.04 e versioni successive, non deve mai essere rimosso o disinstallato. La rimozione del pacchetto provocherebbe il blocco irreversibile del sistema operativo.
}}}
Qualora i file binari risultino corrotti e si renda necessario ripristinare il comando `timedatectl`, è obbligatorio procedere unicamente tramite la reinstallazione in sovrascrittura. Questa procedura ripristina i file originali senza interrompere i servizi essenziali.
Eseguire nel [[AmministrazioneSistema/Terminale|terminale]] il comando:{{{
sudo apt install --reinstall systemd
}}}
Per confermare in modo autonomo quale pacchetto fornisca un determinato eseguibile all'interno dell'ambiente Linux, è possibile interrogare il database dei pacchetti installati tramite l'utilità dpkg. Eseguendo nel [[AmministrazioneSistema/Terminale|terminale]] la seguente istruzione:{{{
dpkg -S $(which timedatectl)
}}} restituirà l'output{{{
systemd: /usr/bin/timedatectl
}}} confermando inequivocabilmente che l'eseguibile appartiene al pacchetto systemd.
= Gestione del fuso orario tramite terminale =
Il metodo a [[AmministrazioneSistema/Terminale|riga di comando]] è lo standard per le versioni '''Ubuntu Server''' e rappresenta la soluzione più rapida.
== Visualizzare il fuso orario attuale ==
Per verificare le impostazioni correnti di data, ora e fuso orario, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
timedatectl
}}}
Individuare la riga `Time zone` nell'output generato per leggere il fuso orario attualmente in uso (es.: `Europe/Rome (CET, +0100)`).
== Ricercare fusi orari disponibili ==
Per visualizzare la lista completa delle nomenclature valide (formato Continente/Città), digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
timedatectl list-timezones
}}}
Per restringere la ricerca a un'area geografica specifica, combinare il comando precedente con [[AmministrazioneSistema/ComandiBase#grep|grep]], come nel seguente esempio:{{{
timedatectl list-timezones | grep Europe
}}}
== Modificare il fuso orario ==
Per applicare la modifica del fuso orario, eseguire con i [[AmministrazioneSistema/PrivilegiDiAmministrazione|privilegi di amministrazione]] un comando che rispetti la seguente sintassi:{{{
sudo timedatectl set-timezone Continente/Città
}}}
Ad esempio per impostare il fuso orario italiano:{{{
sudo timedatectl set-timezone Europe/Rome
}}}
= Gestione del fuso orario tramite interfaccia grafica =
Sui sistemi dotati di interfaccia grafica come '''[[AmbienteGrafico/Gnome|GNOME]]''', l'operazione può essere eseguita tramite i menu di sistema.
0. Aprire il [[AmministrazioneSistema/CentroDiControllo|centro di controllo]]. A seconda della versione:
* '''Ubuntu 24.04 LTS''' e successivi: selezionare la voce '''Sistema''' e quindi cliccare su '''Data e ora'''.
* '''Ubuntu 22.04 LTS''': Scorrere il pannello laterale e selezionare la voce '''Data e ora'''.
0. Disabilitare l'interruttore '''Fuso orario automatico''' per consentire l'intervento manuale.
0. Modificare la Città sulla voce '''Fuso orario''' oppure cliccando sulla città e digitando il nome nella barra di ricerca superiore.
0. Chiudere la finestra per applicare e salvare istantaneamente la modifica.
= Sincronizzazione dell'ora standard =
{{{#!wiki note
Nelle versioni recenti di Ubuntu la sincronizzazione in background dell'ora con i server NTP è gestita nativamente dal servizio leggero systemd-timesyncd.
}}}
== Verificare e abilitare il servizio systemd-timesyncd ==
* Per controllare lo stato della sincronizzazione e le metriche di latenza, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
timedatectl timesync-status
}}} nel caso in cui il servizio risulti inattivo, è possibile abilitarlo tramite il seguente comando, per forzare la sincronizzazione manuale:{{{
sudo timedatectl set-ntp true
}}}
* Per forzare un aggiornamento immediato dell'orologio di sistema, è sufficiente riavviare il demone preposto con il comando:{{{
sudo systemctl restart systemd-timesyncd
}}}
= Sincronizzazione dell'ora avanzata =
Qualora l'infrastruttura richieda una precisione al microsecondo, la gestione di disconnessioni prolungate o la configurazione del sistema come server NTP per la rete locale, lo standard di riferimento è '''[[https://chrony-project.org/|Chrony]]'''.
Per abilitarlo è sufficiente [[AmministrazioneSistema/InstallareProgrammi|installare]] il pacchetto [[apt://chrony|chrony]].
{{{#!wiki note
L'installazione di Chrony disabilita automaticamente `systemd-timesyncd` per evitare conflitti.
}}}
* '''Forzare la sincronizzazione manuale:''' per allineare immediatamente l'orologio saltando il processo di regolazione graduale, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
sudo chronyc makestep
}}}
* '''Visualizzare i parametri di sincronizzazione:''' per confermare il corretto funzionamento e visualizzare il server NTP di riferimento, digitare nel [[AmministrazioneSistema/Terminale|terminale]] il seguente comando:{{{
chronyc tracking
}}}
= Il Database dei Fuso Orari =
Il pacchetto '''tzdata''' rappresenta un componente essenziale, insostituibile e preinstallato su tutte le versioni di Ubuntu (sia desktop che server). Esso fornisce al sistema operativo l'intero archivio contenente le regole geografiche, matematiche e politiche dei fusi orari mondiali, comprese le logiche per i passaggi tra ora solare e ora legale.
== Relazione tra tzdata e timedatectl ==
È fondamentale comprendere la divisione dei compiti tra i due componenti, i quali lavorano obbligatoriamente insieme:
* '''tzdata''': fornisce i dati, genera e aggiorna costantemente l'intero catalogo dei fusi orari mondiali, memorizzando i file nel percorso di sistema `/usr/share/zoneinfo/`.
* '''timedatectl''': è l'esecutore; è lo strumento utilizzato per interrogare tale catalogo e applicare la scelta. Senza il pacchetto `tzdata` il comando `timedatectl set-timezone` risulterebbe inutilizzabile, in quanto non troverebbe alcun file geografico da applicare al sistema.
== Configurazione in ambienti minimali ==
In ambienti operativi estremamente ridotti o containerizzati (come i container Docker), il gestore systemd (e di conseguenza il comando `timedatectl`) è generalmente assente. In questi specifici scenari, l'unico metodo supportato per l'impostazione del fuso orario consiste nell'interagire direttamente con il pacchetto `tzdata` tramite il seguente comando testuale interattivo:{{{
sudo dpkg-reconfigure tzdata
}}}
L'esecuzione aprirà un menu a schermo che consentirà la selezione progressiva dell'area geografica e della città di riferimento.
= Risoluzione problemi =
Qualora il comando `timedatectl list-timezones` non restituisca alcun risultato, o l'applicazione di un fuso orario generi un errore per file non trovato, l'archivio dei fusi orari potrebbe essere corrotto. L'operazione di ripristino si effettua reinstallando esclusivamente il database in sovrascrittura:{{{
sudo apt install --reinstall tzdata
}}}
= Ulteriori risorse =
* [[https://www.freedesktop.org/software/systemd/man/latest/timedatectl.html|timedatectl]]
* [[https://wiki.debian.org/it/DateTime|Wiki Debian]]
* [[http://www.inrim.it/|Istituto nazionale di ricerca metrologica]]
* [[Installazione/PostInstallazione/ErroreOraWindows|Errore ora Windows in dual boot]]
* [[http://www.pool.ntp.org/|NTP pool project]]
----
CategoryAmministrazione CategoryServer