Kenapa Waktu di Ubuntu bisa salah?
Ketika instalasi Ubuntu, banyak user langsung next-next. Hasilnya? Zona waktu tetap di UTC, padahal kamu di Jakarta. Akibatnya log tertulis 7 jam lebih awal, cron job jalan di waktu salah, dan notifikasi “1 menit yang lalu” jadi ngaco.
Di VPS cloud, masalah ini makin kentara. Provider sering pakai template global tanpa peduli lokasi VM. Kalau kamu nggak cek, backup otomatis yang seharusnya tengah malam bisa jalan pas siang.
Tenang, memperbaikinya cuma butuh 1 menit. Ubuntu 22.04 sudah menyediakan tiga tools: GUI untuk desktop, timedatectl untuk CLI, serta symlink manual kalau kamu doyan ngutak-ngatik file. Berikut rangkuman saya setelah mengganti timezone puluhan server tiap hari.
Metode 1: Klik-klik lewat GUI (Desktop only)
Cara paling cepat kalau kamu pakai GNOME. Klik gear di pojok kanan → Settings → Date & Time. Matikan Automatic Time Zone agar OS nggak override manual setting. Klik Time Zone, ketik “Jakarta” di kolom search, lalu Enter. Selesai. Perubahan langsung tersimpan di /etc/timezone tanpa perlu reboot.
Tip GUI: cek dual-boot
Kalau Windows dan Ubuntu beda waktu, pasang `timedatectl set-local-rtc 1` agar hardware clock tetap lokal. Nggak usah utak-atik registry Windows.
Tip GUI: otomatis berdasarkan lokasi
Aktifkan Automatic Time Zone kalau sering travel. Ubuntu akan pakai geoclue-2.0 untuk mendeteksi koordinat. Pastikan Wi-Fi nyala, atau deteksi gagal.
Metode 2: timedatectl one-liner (Server favorit)
SSH masuk VPS, cek dulu daftar timezone:timedatectl list-timezones | grep -i jakarta
Hasilnya Asia/Jakarta. Lalu pasang permanen:sudo timedatectl set-timezone Asia/Jakarta
Verifikasi:timedatectl | grep "Time zone"
Output baris terakhir menunjukkan UTC+7. Sama sekali nggak perlu reboot atau restart layanan. File /etc/localtime langsung di-symlink ke /usr/share/zoneinfo/Asia/Jakarta oleh systemd.
- Pakai Ansible? Tambahkan task:
timezone: name=Asia/Jakarta - Butuh atomic? Jalankan dalam screen agar tak terputus saat SSH timeout.
Metode 3: Manual symlink (Old school, tetap work)
Di mesin tanpa systemd, atau kamu ingin tahu mekanisme bawah: hapus link lama, buat baru.sudo rm -f /etc/localtime
sudo ln -s /usr/share/zoneinfo/Asia/Jakarta /etc/localtime
Simpan nama zona di /etc/timezone supaya aplikasi legacy baca:echo "Asia/Jakarta" | sudo tee /etc/timezone
Reload layanan yang peduli waktu—misalnya rsyslog—supaya log langsung pakai zona baru:sudo systemctl restart rsyslog
Metode ini cocok untuk container minimal seperti Docker Ubuntu image.
Kesimpulan
Waktu yang tepat bukan hanya soal jam di panel. Log audit, cron, hingga SSL certificate expiry semua bergantung pada timezone yang benar. Tiga metode di atas memakan waktu kurang dari 60 detik, tinggal pilih sesuai lingkungan: klik untuk desktop, timedatectl untuk server, symlink manual untuk container. Setelah berhasil, cek kembali dengan date; keluaran harus menampilkan WIB, WITA, atau WIT sesuai lokasi. Praktikkan sekarang agar maintenance window dan jadwal backupmu tak lagi miss. Masih bingung? Drop pertanyaan di kolom komentar, saya bantu jawab sambil ngopi.
FAQ
Tidak. Semua metode di atas langsung aktif tanpa restart.
Layanan cron membaca /etc/localtime saat start. Restart cron: sudo systemctl restart cron.
Jalankan sudo timedatectl set-timezone UTC atau symlink ke /usr/share/zoneinfo/UTC.
Bisa, aktifkan Automatic Time Zone di Settings dengan syarat geoclue-2.0 terinstal.