Skip to content
VDS · Operačné systémy

Časové pásmo, locale a jazyk systému

Ako nastaviť časové pásmo, zapnúť synchronizáciu času, nakonfigurovať UTF-8 locale a prečo by logy a databáza mali byť v UTC.

Aktualizované 23. augusta 2026

Čerstvý stroj zvyčajne beží v UTC s minimálnou sadou locale. Kým nečítaš logy alebo nespúšťaš naplánované úlohy, nič si nevšimneš. Len čo však prídu na rad cron, e-maily a reporty, čas a kódovanie začnú hrať veľkú rolu.

Časové pásmo

timedatectl
timedatectl list-timezones | grep Moscow
timedatectl set-timezone Europe/Moscow

timedatectl zobrazuje miestny čas, UTC a stav synchronizácie. Riadok System clock synchronized: yes znamená, že hodiny sú synchronizované cez sieť.

Ak je synchronizácia vypnutá:

timedatectl set-ntp true
systemctl status systemd-timesyncd

Na AlmaLinux a CentOS Stream je za čas zvyčajne zodpovedný chronyd:

systemctl enable --now chronyd
chronyc tracking

Locale

Locale určuje jazyk správ, kódovanie a formát čísel a dátumov. Požadované minimum je UTF-8; inak sa ruské názvy súborov a výstup programov zmenia na otázniky.

Debian a Ubuntu:

apt install -y locales
dpkg-reconfigure locales
localectl set-locale LANG=ru_RU.UTF-8

AlmaLinux a CentOS Stream:

dnf install -y glibc-langpack-ru
localectl set-locale LANG=ru_RU.UTF-8

Overenie:

locale
locale -a | grep -i utf

Zmeny sa prejavia v nových reláciách—prihlás sa znova cez SSH.

Rozloženie klávesnice v konzole

Zobrazenie „Screen“ (VNC) na karte „Console“ v paneli /hosting/vds/m/<id> prenáša stlačenia klávesov tak, ako sú. Ak potrebuješ písať priamo tam cyriliku:

localectl set-keymap ru

Služby to nepotrebujú—UTF-8 im stačí.

Čo nechať v UTC

Je rozumné nechať samotný systém a databázu v UTC a miestny čas zobrazovať len ľuďom.

  • Logy v UTC sú porovnateľné medzi strojmi a neposúvajú sa pri zmene času.
  • Databáza v UTC nerozbíja výpočty intervalov.
  • Cron počíta čas podľa systémového časového pásma: ak zmeníš časové pásmo, znova si prečítaj plány.
systemctl restart cron
crontab -l

Časté chyby

PríznakPríčinaRiešenie
setlocale: LC_ALL: cannot change localeKlient posiela svoje vlastné locale, ale to na serveri neexistujeVygeneruj locale alebo na klientovi odstráň preposielanie LANG
Rozsypané znaky v názvoch súborovLocale nie je UTF-8LANG=ru_RU.UTF-8 a prihlás sa znova
Čas sa „posunul“ o minútySynchronizácia je vypnutátimedatectl set-ntp true
Úloha sa spustila v nesprávnej hodineZmenil si časové pásmo, ale plán zostal rovnakýPrepočítaj crontab

Časové pásmo zmeň predtým, než nastavíš úlohy zálohovania a logovania. Na živom stroji zmena časového pásma znamená revíziu všetkých plánov naraz.