Cara Menetapkan Masa, Zon Waktu, dan Menyegerakkan Jam di Linux
Dalam artikel ini, pelajari cara menetapkan masa, zon waktu, dan menyegerakkan jam sistem Linux anda dengan NTP menggunakan timedatectl, systemd-timesyncd, dan chrony. :
Perintah ‘timedatectl‘ ialah utiliti untuk pengedaran berasaskan RHEL dan Debian, dan ia adalah sebahagian daripada pengurus sistem dan perkhidmatan ‘systemd‘, berfungsi sebagai pengganti kepada perintah tarikh lama yang digunakan dalam pengedaran Linux berasaskan daemon ‘sysvinit‘.
Perintah timedatectl membolehkan anda menyoal dan menukar konfigurasi jam sistem dan tetapanannya, anda boleh menggunakan perintah ini untuk menetapkan atau menukar tarikh, masa, dan zon waktu semasa, atau mengaktifkan penyegerakan jam sistem secara automatik dengan pelayan NTP jauh.
Dalam tutorial ini, saya akan membawa anda melalui cara-cara anda boleh menguruskan masa pada sistem Linux anda dengan menetapkan tarikh, masa, zon waktu, dan menyelaraskan masa dengan NTP dari terminal menggunakan timedatectl, systemd-timesyncd, dan chrony.
Sentiasa merupakan amalan yang baik untuk memastikan masa yang tepat pada pelayan atau sistem Linux anda, dan ia boleh memberikan kelebihan berikut:
- Kekalkan operasi tugas sistem tepat pada masanya kerana kebanyakan tugas di Linux dikawal oleh masa.
- Masa yang tepat untuk merekodkan peristiwa dan maklumat lain di sistem.
- Penyelarasan yang betul untuk sistem dan aplikasi teragih.
- Penting untuk protokol keselamatan seperti Kerberos dan pengesahan sijil SSL/TLS.
Cara Menemukan dan Menetapkan Zon Waktu Tempatan di Linux
1. Untuk memaparkan masa dan tarikh semasa pada sistem anda, gunakan arahan timedatectl dari baris arahan seperti berikut:
timedatectl status
Dalam output di atas, RTC masa adalah masa jam perkakasan.
2. Masa pada sistem Linux anda sentiasa diuruskan melalui zon waktu yang ditetapkan pada sistem, untuk melihat zon waktu semasa anda, lakukan seperti berikut:
timedatectl
OR
timedatectl | grep Time
3. Untuk melihat semua zon waktu yang tersedia, jalankan arahan di bawah:
timedatectl list-timezones
4. Untuk mencari zon waktu tempatan mengikut lokasi anda, jalankan arahan berikut.
timedatectl list-timezones | egrep -o "Asia/B.*"
timedatectl list-timezones | egrep -o "Europe/L.*"
timedatectl list-timezones | egrep -o "America/N.*"
5. Untuk menetapkan zon waktu tempatan anda di Linux, kita akan menggunakan suis set-timezone seperti yang ditunjukkan di bawah.
sudo timedatectl set-timezone "Asia/Kolkata"
timedatectl status
Sentiasa disyorkan untuk menggunakan dan menetapkan masa sejagat berselaras, UTC.
sudo timedatectl set-timezone UTC
timedatectl status
Anda perlu menaip nama zon waktu yang betul, jika tidak anda mungkin akan menghadapi ralat semasa menukar zon waktu. Dalam contoh berikut, zon waktu “Asia/Kolkata” tidak betul dan oleh itu menyebabkan ralat.
failed to set time zone: invalid timezone
Cara Menetapkan Masa dan Tarikh dalam Linux
Anda boleh menetapkan tarikh dan masa pada sistem anda menggunakan perintah timedatectl seperti berikut:
Tetapkan Masa dalam Linux
6. Untuk menetapkan masa sahaja, kita boleh menggunakan suis set-time bersama dengan format masa dalam HH:MM:SS (Jam, Minit, dan Saat).
sudo timedatectl set-time 12:25:30
timedatectl status
Anda mungkin akan mendapat ralat berikut apabila menetapkan tarikh seperti yang ditunjukkan di atas:
Failed to set time: Automatic time synchronization is enabled
Ralat berlaku kerana penyegerakan masa automatik (NTP) dihidupkan, yang menghalang perubahan masa secara manual.
Untuk membaikinya, pertama-tama lumpuhkan NTP, kemudian tetapkan masa.
sudo timedatectl set-ntp false
sudo timedatectl set-time 12:25:30
timedatectl status
7. Untuk menetapkan tarikh dan masa, gunakan suis set-time bersama dengan format tarikh dalam YYYY-MM-DD (Tahun, Bulan, Hari) dan masa dalam HH:MM:SS (Jam, Minit, dan Saat):
sudo timedatectl set-time '2026-01-23 12:25:30'
Cara Mencari dan Menetapkan Jam Perkakasan di Linux
8. Untuk menetapkan jam perkakasan anda kepada masa sejagat selaras, UTC, gunakan pilihan set-local-rtc boolean-value seperti berikut:
Mula-mula ketahui jika jam perkakasan anda disetkan kepada zon masa tempatan:
timedatectl | grep local
Tetapkan jam perkakasan anda kepada zon waktu tempatan:
sudo timedatectl set-local-rtc 1
Tetapkan jam perkakasan anda kepada masa sejagat selaras (UTC):
sudo timedatectl set-local-rtc 0
Nota: Menetapkan RTC kepada waktu tempatan tidak disyorkan dan mungkin menyebabkan masalah dengan pelarasan waktu penjimatan siang, jadi adalah lebih baik untuk mengekalkan RTC dalam UTC.
Menyelaras Jam Sistem Linux dengan Pelayan NTP Jauh
NTP bermaksud Protokol Masa Rangkaian adalah protokol internet, yang digunakan untuk menyelaraskan jam sistem antara komputer.
Utiliti timedatectl membolehkan anda menyegerakkan jam sistem Linux anda secara automatik dengan kumpulan pelayan jauh menggunakan NTP.
Kebanyakan pengedaran Linux moden menggunakan pelbagai implementasi untuk penyelarasan NTP:
- systemd-timesyncd: Sebuah klien SNTP (Simple NTP) ringan yang dibina dalam systemd, yang sesuai untuk kebanyakan desktop dan tetapan pelayan tunggal.
- chrony: Satu pelaksanaan NTP yang lengkap yang boleh berfungsi sebagai kedua-dua klien dan pelayan. Ia mengendalikan sambungan rangkaian yang berselang-seli dengan lebih baik dan lebih tepat.
Menggunakan systemd-timesyncd
Untuk memulakan penyegerakan masa automatik dengan pelayan NTP jarak jauh, taip arahan berikut di terminal, yang akan mengaktifkan dan memulakan perkhidmatan systemd-timesyncd.
sudo timedatectl set-ntp true
Untuk mematikan penyegerakan masa NTP, taip arahan berikut di terminal.
sudo timedatectl set-ntp false
Untuk memeriksa status penyegerakan:
timedatectl status
Anda sepatutnya melihat “Jam sistem disegerakkan: ya” dan “Perkhidmatan NTP: aktif“.
Menggunakan chrony (Disyorkan untuk Pelayan)
Jika anda menjalankan pelayan atau memerlukan penyelarasan masa yang lebih boleh dipercayai, chrony adalah pilihan yang lebih baik, dan ia amat sesuai untuk:
- Sistem yang tidak berjalan secara berterusan (komputer riba, komputer meja).
- Pelayan memerlukan ketepatan yang tinggi.
- Sistem dengan sambungan rangkaian yang berselang-seli.
- Persekitaran berkelompok di mana konsistensi masa adalah kritikal.
Pertama, pasang chrony (jika belum dipasang):
sudo apt install chrony [On Debian-based systems]
sudo dnf install chrony [On RHEL-based systems]
Nota: Memasang chrony akan secara automatik mematikan systemd-timesyncd untuk mengelakkan konflik.
Selepas pemasangan, aktifkan, mulakan, dan semak status penyegerakan:
sudo systemctl enable --now chronyd
timedatectl status
Untuk menggunakan pelayan NTP anda sendiri dan bukannya yang lalai, anda perlu mengedit fail konfigurasi Chrony.
sudo nano /etc/chrony/chrony.conf
OR
sudo nano /etc/chrony/sources.d/custom.sources
Tambah pelayan NTP pilihan anda (anda boleh mendapatkan senarai pelayan NTP dari Projek NTP Pool).
pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
Mulakan semula chrony selepas membuat perubahan:
sudo systemctl restart chronyd
Nota Penting Tentang Penyegerakan NTP
- Anda tidak boleh menjalankan pelbagai implementasi NTP secara serentak, jadi pilih sama ada systemd-timesyncd atau chrony.
- systemd-timesyncd adalah pelaksanaan klien sahaja dan tidak boleh memberikan masa kepada sistem lain.
- chrony boleh berfungsi sebagai kedua-dua klien masa dan pelayan masa untuk rangkaian setempat anda.
- Untuk pelayan produksi dan infrastruktur kritikal, chrony biasanya disyorkan berbanding systemd-timesyncd.
- NTP memerlukan port UDP 123 dibuka untuk sambungan keluar.
Ringkasan
Ini adalah contoh yang sangat mudah yang diterangkan dalam tutorial ini dan saya harap anda akan mendapati ia berguna untuk menetapkan pelbagai jam sistem Linux dan zon masa.
Untuk mengetahui lebih lanjut tentang alat ini, pergi ke halaman manual timedatectl.
man timedatectl
Jika anda mempunyai apa-apa untuk dikatakan mengenai artikel ini, jangan ragu untuk meninggalkan komen untuk sebarang maklumat tambahan yang ingin ditambah.










