Časové pásmo je geografická oblast, která má stejný standardní čas. Časové pásmo se obvykle nastavuje během instalace operačního systému, ale lze jej později snadno změnit.
Použití správného časového pásma je nezbytné pro mnoho úloh a procesů souvisejících se systémy. Například démon cron používá časové pásmo systému pro provádění úloh cron. Časové pásmo se také používá pro časová razítka protokolů.
Tento tutoriál popisuje kroky potřebné k nastavení nebo změně časového pásma v Linuxu.
Kontrola aktuálního časového pásma #
timedatectl
je nástroj příkazového řádku, který umožňuje zobrazit a změnit systémový čas a datum. Je k dispozici na všech moderních systémech Linux založených na systemd.
Chcete-li zobrazit aktuální časové pásmo, vyvolejte timedatectl
příkaz bez jakýchkoli voleb nebo argumentů:
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
Výše uvedený výstup ukazuje, že časové pásmo systému je nastaveno na UTC.
Systémové časové pásmo se konfiguruje symbolickým propojením /etc/localtime
soubor na identifikátor binárního časového pásma v /usr/share/zoneinfo
adresář.
Dalším způsobem, jak zkontrolovat časové pásmo, je zobrazit cestu, na kterou ukazuje symbolický odkaz, pomocí ls
příkaz:
ls -l /etc/localtime
lrwxrwxrwx 1 root root 27 Dec 3 16:29 /etc/localtime -> /usr/share/zoneinfo/Etc/UTC
Změna časového pásma v Linuxu #
Před změnou časového pásma musíte zjistit dlouhý název časového pásma, které chcete použít. Konvence pojmenování časových pásem obvykle používá formát „Region/City“.
Chcete-li zobrazit všechna dostupná časová pásma, použijte timedatectl
nebo seznam souborů v /usr/share/zoneinfo
adresář:
timedatectl list-timezones
...
America/Montserrat
America/Nassau
America/New_York
America/Nipigon
America/Nome
America/Noronha
...
Jakmile zjistíte, které časové pásmo odpovídá vaší poloze, spusťte následující příkaz jako root nebo sudouser:
sudo timedatectl set-timezone <your_time_zone>
Chcete-li například změnit časové pásmo systému na America/New_York
byste napsali:
sudo timedatectl set-timezone America/New_York
Pro ověření změny vyvolejte timedatectl
příkaz znovu:
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
Mise splněna! Úspěšně jste změnili časové pásmo svého systému.
Změna časového pásma vytvořením symbolického odkazu #
Pokud používáte starší distribuci Linuxu a timedatectl
nástroj není ve vašem systému přítomen, časové pásmo můžete změnit symbolickým odkazem /etc/localtime
na časové pásmo v /usr/share/zoneinfo
adresář.
Odeberte aktuální soubor symbolického odkazu:
sudo rm -rf /etc/localtime
Určete časové pásmo, které chcete nakonfigurovat, a vytvořte symbolický odkaz:
sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime
Ověřte to buď uvedením /etc/localtime
nebo vyvoláním date
příkaz:
date
Výstup obsahuje časové pásmo, v tomto příkladu je to „EST“.
Tue Dec 3 14:10:54 EST 2019
Závěr č.
Chcete-li změnit časové pásmo v systémech Linux, použijte sudo timedatectl set-timezone
příkaz následovaný dlouhým názvem časového pásma, které chcete nastavit.
Pokud máte nějaké dotazy, neváhejte zanechat komentář.