Introduzione

Su CentOS, il fuso orario del sistema viene impostato durante l'installazione, ma può essere facilmente modificato in un secondo momento.

L'uso del fuso orario corretto è importante 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.

Questo tutorial spiega come impostare o modificare il fuso orario su CentOS 8.

Prerequisiti

Per poter cambiare il fuso orario del sistema devi aver effettuato l'accesso come root o utente con privilegi sudo.

Se desideri configurare il timezone su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.

Connessione al Server

Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:

ssh [email protected]_DEL_SERVER

Successivamente sarà necessario inserire la password dell'utente root.

Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:

ssh [email protected]_DEL_SERVER

Successivamente vi verrà chiesto di inserire la password del vostro utente.

La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:

ssh [email protected]_DEL_SERVER -p PORTA

Verificare il fuso orario (timezone) corrente

In CentOS e altre distribuzioni Linux moderne, è possibile utilizzare il comando timedatectl per visualizzare e impostare l'ora e il fuso orario del sistema corrente.

timedatectl

L'output seguente mostra che il fuso orario del sistema è impostato su UTC:

               Local time: Thu 2020-01-30 13:16:24 CET
           Universal time: Thu 2020-01-30 12:16:24 UTC
                 RTC time: Thu 2020-01-30 12:16:24
                Time zone: Europe/Berlin (CET, +0100)
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. Quindi, un'altra opzione per controllare il fuso orario è mostrare il percorso a cui punta il collegamento simbolico usando il comando ls:

ls -l /etc/localtime
lrwxrwxrwx. 1 root root 33 Jan 12 05:21 /etc/localtime -> /usr/share/zoneinfo/Europe/Berlin

Modificare il fuso orario in CentOS

Prima di modificare il fuso orario, devi scoprire il nome lungo del fuso orario che desideri utilizzare. La convenzione di denominazione del fuso orario di solito utilizza un formato "Regione/Città".

Per elencare tutti i fusi orari disponibili, è possibile elencare i file nella directory /usr/share/zoneinfo o utilizzare il comando timedatectl.

timedatectl list-timezones
...
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Whitehorse
America/Winnipeg
...

Una volta identificato quale fuso orario è preciso per la tua posizione, esegui il seguente comando come utente sudo:

sudo timedatectl set-timezone your_time_zone

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

 sudo timedatectl set-timezone Europe/Rome

Esegui il timedatectlcomando per verificare le modifiche:

timedatectl
               Local time: Thu 2020-01-30 13:18:27 CET
           Universal time: Thu 2020-01-30 12:18:27 UTC
                 RTC time: Thu 2020-01-30 12:18:27
                Time zone: Europe/Rome (CET, +0100)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

Modificare il fuso orario creando un collegamento simbolico

Se si esegue una versione precedente di CentOS e il comando timedatectl non è presente sul proprio sistema, è possibile modificare il fuso orario collegandosi al file del fuso orario /etc/localtime nella directory /usr/share/zoneinfo.

Elimina il file /etc/localtime corrente o il link simbolico:

sudo rm -rf /etc/localtime

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

sudo ln -s /usr/share/zoneinfo/America/Toronto /etc/localtime

Puoi verificarlo elencando il file /etc/localtime o eseguendo il comando date:

date
Thu Jan 30 07:20:23 EST 2020

Conclusione

In questa guida, ti abbiamo mostrato di cambiare il fuso orario del tuo sistema CentOS 8.