Skip to content
VDS · Sistem operasi

Zona waktu, locale, dan bahasa sistem

Cara mengatur zona waktu, mengaktifkan sinkronisasi waktu, mengonfigurasi locale UTF-8, dan mengapa log dan database sebaiknya disimpan dalam UTC.

Diperbarui 23 Agustus 2026

Mesin baru biasanya berjalan dalam UTC dengan kumpulan locale yang minimal. Selama Anda tidak membaca log atau menjalankan tugas terjadwal, Anda tidak akan menyadarinya. Begitu cron, email, dan laporan mulai digunakan, waktu dan encoding menjadi sangat penting.

Zona waktu

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

timedatectl menampilkan waktu lokal, UTC, dan status sinkronisasi. Baris System clock synchronized: yes berarti jam tersinkronisasi melalui jaringan.

Jika sinkronisasi mati:

timedatectl set-ntp true
systemctl status systemd-timesyncd

Di AlmaLinux dan CentOS Stream, chronyd biasanya bertanggung jawab atas waktu:

systemctl enable --now chronyd
chronyc tracking

Locale

Locale menentukan bahasa pesan, encoding, serta format angka dan tanggal. Minimal yang diperlukan adalah UTF-8; jika tidak, nama file dan keluaran program berbahasa Rusia berubah menjadi tanda tanya.

Debian dan Ubuntu:

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

AlmaLinux dan CentOS Stream:

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

Periksa:

locale
locale -a | grep -i utf

Perubahan berlaku untuk sesi baru—login kembali melalui SSH.

Tata letak keyboard di konsol

Tampilan "Screen" (VNC) di tab "Console" pada panel /hosting/vds/m/<id> meneruskan penekanan tombol apa adanya. Jika Anda perlu mengetik Sirilik langsung di sana:

localectl set-keymap ru

Layanan tidak memerlukan ini—UTF-8 sudah cukup bagi mereka.

Apa yang sebaiknya dibiarkan dalam UTC

Masuk akal untuk membiarkan sistem itu sendiri dan basis data dalam UTC, dan hanya menampilkan waktu lokal kepada orang.

  • Log dalam UTC dapat dibandingkan antar mesin dan tidak melonjak saat jam berubah.
  • Basis data dalam UTC tidak merusak perhitungan interval.
  • Cron menghitung waktu berdasarkan zona waktu sistem: jika Anda mengubah zona waktu, baca ulang jadwalnya.
systemctl restart cron
crontab -l

Kesalahan umum

GejalaPenyebabSolusi
setlocale: LC_ALL: cannot change localeKlien mengirim locale-nya sendiri, tetapi locale tersebut tidak ada di serverBuat locale atau hapus penerusan LANG di klien
Karakter rusak pada nama fileLocale bukan UTF-8LANG=ru_RU.UTF-8 lalu login kembali
Waktu "bergeser" beberapa menitSinkronisasi matitimedatectl set-ntp true
Tugas berjalan pada jam yang salahAnda mengubah zona waktu tetapi jadwalnya tetap samaHitung ulang crontab

Ubah zona waktu sebelum Anda menyiapkan tugas pencadangan dan logging. Pada mesin yang sedang berjalan, mengubah zona waktu berarti meninjau semua jadwal sekaligus.