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 a časová razítka v souborech protokolu jsou založena na časovém pásmu stejného systému.
V systému CentOS se časové pásmo systému nastavuje během instalace, ale lze jej později snadno změnit.
Tento článek popisuje, jak nastavit nebo změnit časové pásmo v systémech CentOS 8.
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:
timedatectl
Výstup zobrazuje časové pásmo systému. V tomto příkladu je časové pásmo nastaveno na UTC:
Local time: Sat 2020-03-21 21:30:22 UTC
Universal time: Sat 2020-03-21 21:30:22 UTC
RTC time: Sat 2020-03-21 21:30:22
Time zone: UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Pokud se zobrazí varování „Systém je nakonfigurován tak, aby četl čas RTC v místním časovém pásmu.“, spusťte následující příkaz a použijte RTC v UTC:
timedatectl
Systémové časové pásmo se konfiguruje symbolickým odkazem /etc/localtime
na binární identifikátor časového pásma v /usr/share/zoneinfo
adresář. Další možností, jak zkontrolovat časové pásmo, je zobrazit cestu, na kterou symbolický odkaz ukazuje, pomocí ls
příkaz:
ls -l /etc/localtime
lrwxrwxrwx. 1 root root 23 Nov 21 23:30 /etc/localtime -> /usr/share/zoneinfo/UTC
Změna časového pásma v CentOS #
Před změnou časového pásma musíte zjistit dlouhý název časového pásma, které chcete použít. Časová pásma používají formát „Region/City“.
Chcete-li zobrazit všechna dostupná časová pásma, vyvolejte timedatectl
pomocí příkazu list-timezones
možnost:
timedatectl list-timezones
...
America/Tijuana
America/Toronto
America/Tortola
America/Vancouver
America/Whitehorse
America/Winnipeg
...
Jakmile zjistíte, které časové pásmo odpovídá vaší poloze, spusťte následující příkaz jako uživatel root nebo uživatel s právy sudo:
sudo timedatectl set-timezone your_time_zone
Chcete-li například změnit časové pásmo systému na America/Toronto
:
sudo timedatectl set-timezone America/Toronto
Spusťte timedatectl
příkaz k ověření změn:
timedatectl
Local time: Sat 2020-03-21 17:43:39 EDT
Universal time: Sat 2020-03-21 21:43:39 UTC
RTC time: Sat 2020-03-21 21:43:40
Time zone: America/Toronto (EDT, -0400)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
Změna časového pásma vytvořením symbolického odkazu #
Pokud používáte starší verzi CentOS a timedatectl
příkaz není ve vašem systému přítomen, časové pásmo můžete změnit symbolickým odkazem /etc/localtime
do souboru časového pásma v /usr/share/zoneinfo
adresář.
Určete časové pásmo, které chcete nakonfigurovat, a vytvořte symbolický odkaz:
sudo ln -sf /usr/share/zoneinfo/America/Toronto /etc/localtime
Ověřte změny buď uvedením /etc/localtime
nebo vydáním souboru timedatectl
nebo date
příkazy:
date
Sat Mar 21 17:46:10 EDT 2020