Použití správného časového pásma je důležité 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.
Časové pásmo systému se nastavuje během instalace, ale lze jej později snadno změnit. Tento tutoriál ukazuje, jak nastavit nebo změnit časové pásmo v Debianu 9.
Předpoklady #
Uživatel, pod kterým jste přihlášeni, musí mít oprávnění sudo, aby mohl změnit časové pásmo systému.
Kontrola aktuálního časového pásma #
V Debianu a dalších moderních distribucích Linuxu timedatectl
umožňuje zobrazit a nastavit aktuální systémový čas a časové pásmo.
timedatectl
Jak je znázorněno na výstupu níže, časové pásmo systému je nastaveno na „Amerika/Chicago“:
Local time: Mon 2019-03-11 16:46:45 CDT
Universal time: Mon 2019-03-11 21:46:45 UTC
RTC time: Mon 2019-03-11 21:46:45
Time zone: America/Chicago (CDT, -0500)
Network time on: yes
NTP synchronized: no
RTC in local TZ: no
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 ukázat cestu, na kterou symbolický odkaz ukazuje, pomocí příkazu ls:
ls -l /etc/localtime
lrwxrwxrwx 1 root root 37 Jan 23 03:19 /etc/localtime -> ../usr/share/zoneinfo/America/Chicago
Změna časového pásma v Debianu #
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, můžete buď vypsat soubory v /usr/share/zoneinfo
nebo použijte timedatectl
příkaz.
timedatectl list-timezones
...
Europe/Lisbon
Europe/Ljubljana
Europe/London
Europe/Luxembourg
Europe/Madrid
Europe/Malta
...
Jakmile zjistíte, které časové pásmo odpovídá vaší poloze, spusťte jako uživatel sudo následující příkaz:
sudo timedatectl set-timezone your_time_zone
Chcete-li například změnit časové pásmo systému na Europe/Ljubljana
běželi byste:
sudo timedatectl set-timezone Europe/Ljubljana
Ověřte změnu vydáním timedatectl
příkaz:
timedatectl
Local time: Mon 2019-03-11 22:51:27 CET
Universal time: Mon 2019-03-11 21:51:27 UTC
RTC time: Mon 2019-03-11 21:51:26
Time zone: Europe/Ljubljana (CET, +0100)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no
Změna časového pásma vytvořením symbolického odkazu #
Pokud používáte starší verzi Debianu a timedatectl
příkaz 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ář.
Smažte aktuální /etc/localtime
soubor nebo symbolický odkaz:
sudo rm -f /etc/localtime
Určete časové pásmo, které chcete nakonfigurovat, a vytvořte symbolický odkaz:
sudo ln -s /usr/share/zoneinfo/Europe/Ljubljana /etc/localtime
Změnu můžete potvrdit buď uvedením /etc/localtime
soubor nebo vydání date
příkaz:
date
Mon Mar 11 22:55:04 CET 2019