Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


Guida verificata con Ubuntu: 22.04 24.04

Problemi in questa pagina? Segnalali in questa discussione

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 riga di comando nel gestore di sistema 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.

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 systemd, la sua gestione richiede particolare cautela. Di seguito i dettagli operativi.

Poiché systemd è il gestore di avvio (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 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 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 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 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 terminale il seguente comando:

timedatectl list-timezones

Per restringere la ricerca a un'area geografica specifica, combinare il comando precedente con grep, come nel seguente esempio:

timedatectl list-timezones | grep Europe

Modificare il fuso orario

Per applicare la modifica del fuso orario, eseguire con i 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 GNOME, l'operazione può essere eseguita tramite i menu di sistema.

  1. Aprire il 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.

  2. Disabilitare l'interruttore Fuso orario automatico per consentire l'intervento manuale.

  3. Modificare la Città sulla voce Fuso orario oppure cliccando sulla città e digitando il nome nella barra di ricerca superiore.

  4. Chiudere la finestra per applicare e salvare istantaneamente la modifica.

Sincronizzazione dell'ora standard

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 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 è Chrony.

Per abilitarlo è sufficiente installare il pacchetto chrony.

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 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 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


CategoryAmministrazione CategoryServer