Vremenska zona, locale i jezik sistema
Kako da podesiš vremensku zonu, uključiš sinhronizaciju vremena, podesiš UTF-8 locale i zašto logove i bazu treba držati u UTC-u.
Ažurirano 23. avgust 2026.
Sveža mašina obično radi u UTC sa minimalnim skupom lokalizacija. Dok ne čitaš logove niti pokrećeš zakazane zadatke, to nećeš ni primetiti. Čim cron, imejlovi i izveštaji uđu u igru, vreme i enkodiranje počinju mnogo da znače.
Vremenska zona
timedatectl
timedatectl list-timezones | grep Moscow
timedatectl set-timezone Europe/Moscow
timedatectl prikazuje lokalno vreme, UTC i status sinhronizacije. Linija System clock synchronized: yes znači da je sat sinhronizovan preko mreže.
Ako je sinhronizacija isključena:
timedatectl set-ntp true
systemctl status systemd-timesyncd
Na AlmaLinux i CentOS Stream za vreme je obično zadužen chronyd:
systemctl enable --now chronyd
chronyc tracking
Lokalizacija
Lokalizacija određuje jezik poruka, enkodiranje i format brojeva i datuma. Neophodni minimum je UTF-8; u suprotnom se ruski nazivi fajlova i izlaz programa pretvaraju u znake pitanja.
Debian i Ubuntu:
apt install -y locales
dpkg-reconfigure locales
localectl set-locale LANG=ru_RU.UTF-8
AlmaLinux i CentOS Stream:
dnf install -y glibc-langpack-ru
localectl set-locale LANG=ru_RU.UTF-8
Proveri:
locale
locale -a | grep -i utf
Izmene važe za nove sesije—prijavi se ponovo preko SSH.
Raspored tastature u konzoli
Prikaz „Screen" (VNC) u kartici „Console" panela /hosting/vds/m/<id> prosleđuje pritiske tastera takve kakvi jesu. Ako baš tu treba da kucaš ćirilicu:
localectl set-keymap ru
Servisima to ne treba—UTF-8 im je dovoljan.
Šta ostaviti u UTC
Razumno je da sam sistem i baza podataka ostanu u UTC, a lokalno vreme pokazuješ samo ljudima.
- Logovi u UTC su uporedivi između mašina i ne skaču kada se sat menja.
- Baza podataka u UTC ne kvari izračunavanje intervala.
- Cron računa vreme po vremenskoj zoni sistema: ako promeniš vremensku zonu, ponovo pročitaj rasporede.
systemctl restart cron
crontab -l
Česte greške
| Simptom | Uzrok | Rešenje |
|---|---|---|
setlocale: LC_ALL: cannot change locale | Klijent šalje svoju lokalizaciju, ali ona ne postoji na serveru | Generiši lokalizaciju ili ukloni prosleđivanje LANG na klijentu |
| Izobličeni znaci u nazivima fajlova | Lokalizacija nije UTF-8 | LANG=ru_RU.UTF-8 i prijavi se ponovo |
| Vreme je „odlutalo" nekoliko minuta | Sinhronizacija je isključena | timedatectl set-ntp true |
| Zadatak se pokrenuo u pogrešnom satu | Promenio si vremensku zonu, a raspored je ostao isti | Preračunaj crontab |
Promeni vremensku zonu pre nego što podesiš zadatke za rezervne kopije i logovanje. Na mašini u radu, promena vremenske zone znači da odjednom pregledaš sve rasporede.