Introduzione

L'uso del fuso orario corretto è essenziale per molte attività e processi relativi ai sistemi. Ad esempio, il demone cron utilizza il fuso orario del sistema per eseguire lavori cron e i timestamp nei file di registro si basano sullo stesso fuso orario del sistema.

Su Debian, il timezone del sistema è impostato durante l'installazione, ma può essere facilmente modificato in un secondo momento.

Questo articolo spiega come impostare o modificare il fuso orario su Debian 10 Linux.

Verificare il timezone corrente

timedatectl è un'utilità della riga di comando che consente di visualizzare e modificare l'ora e la data del sistema. È disponibile su tutti i moderni sistemi Linux basati su systemd:

timedatectl

Dovreste ricevere un messaggio di output simile al seguente:

               Local time: Sun 2020-04-05 00:47:36 CEST
           Universal time: Sat 2020-04-04 22:47:36 UTC
                 RTC time: Sat 2020-04-04 22:47:37
                Time zone: Europe/Berlin (CEST, +0200)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Il fuso orario di sistema viene configurato tramite collegamento simbolico /etc/localtime a un identificatore binario di fuso orario nella directory /usr/share/zoneinfo. Puoi anche trovare il fuso orario controllando il percorso a cui punta il collegamento simbolico, usando il comando ls:

ls -l /etc/localtime
lrwxrwxrwx 1 root root 33 Mar 30 14:54 /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin

Cambiare il timezone in Debian

Prima di modificare il fuso orario, devi scoprire il nome lungo del fuso orario che desideri utilizzare. I fusi orari utilizzano il formato “Region/City”.

Per elencare tutti i fusi orari disponibili, è possibile elencare i file nella directory /usr/share/zoneinfo o richiamare il comando timedatectl con l'opzione list-timezones:

timedatectl list-timezones
...
America/Monterrey
America/Montevideo
America/Montserrat
America/Nassau
America/New_York
...

Una volta identificato quale fuso orario è corretto per la tua posizione, esegui il comando seguente come root o utente con privilegi sudo:

sudo timedatectl set-timezone your_time_zone

Ad esempio, per modificare il fuso orario del sistema in America/Monterrey, eseguire:

sudo timedatectl set-timezone America/Monterrey

Verifica la modifica controllando il fuso orario del sistema corrente con il comando timedatectl:

timedatectl
               Local time: Sat 2020-04-04 16:53:20 CST
           Universal time: Sat 2020-04-04 22:53:20 UTC
                 RTC time: Sat 2020-04-04 22:53:21
                Time zone: America/Monterrey (CST, -0600)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Modificare il timezone creando un collegamento simbolico

Se stai eseguendo una versione precedente di Debian e il comando timedatectl non è presente sul tuo sistema, puoi cambiare il fuso orario collegando il file /etc/localtime al binario del fuso orario nella directory /usr/share/zoneinfo.

Identifica il fuso orario che desideri configurare e crea un collegamento simbolico:

sudo ln -sf /usr/share/zoneinfo/America/Monterrey /etc/localtime

Verifica le modifiche elencando il file /etc/localtime o eseguendo i comandi timedatectl o date:

date
Sat 04 Apr 2020 04:57:53 PM CST

Conclusione

Per cambiare il fuso orario del tuo sistema Debian, esegui il comando sudo timedatectl set-timezone seguito dal nome del fuso orario che vuoi impostare.