Un fuso orario è una regione geografica che ha la stessa ora solare. Tipicamente il fuso orario viene impostato durante l'installazione del sistema operativo, ma può essere facilmente modificato in un secondo momento.
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 i lavori cron. Il fuso orario viene utilizzato anche per i timestamp dei registri.
Questo tutorial illustra i passaggi necessari per impostare o modificare il fuso orario in Linux.
Controllo del fuso orario attuale #
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.
Per visualizzare il fuso orario corrente, invoca il timedatectl
comando senza opzioni o argomenti:
timedatectl
Local time: Tue 2019-12-03 16:30:44 UTC
Universal time: Tue 2019-12-03 16:30:44 UTC
RTC time: Tue 2019-12-03 16:30:44
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
L'output sopra mostra che il fuso orario del sistema è impostato su UTC.
Il fuso orario del sistema viene configurato collegando simbolicamente a /etc/localtime
file in un identificatore di fuso orario binario in /usr/share/zoneinfo
directory.
Un altro modo per controllare il fuso orario è visualizzare il percorso a cui punta il collegamento simbolico usando ls
comando:
ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
Cambiare il fuso orario in Linux #
Prima di modificare il fuso orario, dovrai 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 visualizzare tutti i fusi orari disponibili, utilizza il timedatectl
comando o elenca i file in /usr/share/zoneinfo
directory:
timedatectl list-timezones
...
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...
Dopo aver identificato quale fuso orario è preciso rispetto alla tua posizione, esegui il seguente comando come root o sudouser:
sudo timedatectl set-timezone <your_time_zone>
Ad esempio, per modificare il fuso orario del sistema in America/New_York
dovresti digitare:
sudo timedatectl set-timezone America/New_York
Per verificare la modifica, richiama il timedatectl
comando di nuovo:
timedatectl
Local time: Tue 2019-12-03 13:55:09 EST
Universal time: Tue 2019-12-03 18:55:09 UTC
RTC time: Tue 2019-12-03 18:02:16
Time zone: America/New_York (EST, -0500)
System clock synchronized: no
systemd-timesyncd.service active: yes
RTC in local TZ: no
Missione compiuta! Hai cambiato correttamente il fuso orario del tuo sistema.
Cambiare il fuso orario creando un collegamento simbolico #
Se stai eseguendo una vecchia distribuzione Linux e il timedatectl
l'utilità non è presente sul tuo sistema, puoi cambiare il fuso orario collegando simbolicamente a /etc/localtime
al fuso orario in /usr/share/zoneinfo
directory.
Rimuovere il file di collegamento simbolico corrente:
sudo rm -rf /etc/localtime
Identifica il fuso orario che desideri configurare e crea un collegamento simbolico:
sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
Verificalo elencando il /etc/localtime
file o invocando la date
comando:
date
L'output include il fuso orario, in questo esempio "EST".
Tue Dec 3 14:10:54 EST 2019
Conclusione #
Per cambiare il fuso orario nei sistemi Linux, usa sudo timedatectl set-timezone
comando seguito dal nome lungo del fuso orario che desideri impostare.
Sentiti libero di lasciare un commento in caso di domande.