Πώς να Ρυθμίσετε την Ώρα, τη Ζώνη Ώρας και να Συγχρονίσετε το Ρολόι στο Linux
Σε αυτό το άρθρο, μάθετε πώς να ρυθμίζετε την ώρα, τη ζώνη ώρας και να συγχρονίζετε το ρολόι του συστήματός σας Linux με NTP χρησιμοποιώντας τα timedatectl, systemd-timesyncd και chrony. :
Η εντολή ‘timedatectl‘ είναι ένα εργαλείο για διανομές βασισμένες σε RHEL και Debian, και αποτελεί μέρος του διαχειριστή συστήματος και υπηρεσιών ‘systemd‘, λειτουργώντας ως αντικατάσταση της παλιάς παραδοσιακής εντολής date που χρησιμοποιούνταν στις διανομές Linux βασισμένες σε daemon ‘sysvinit‘.
Η εντολή timedatectl σάς επιτρέπει να ελέγχετε και να αλλάζετε τη διαμόρφωση του συστήματος ώρας και τις ρυθμίσεις του. Μπορείτε να χρησιμοποιήσετε αυτήν την εντολή για να ορίσετε ή να αλλάξετε την τρέχουσα ημερομηνία, ώρα και ζώνη ώρας, ή να ενεργοποιήσετε τον αυτόματο συγχρονισμό του ρολογιού του συστήματος με έναν απομακρυσμένο διακομιστή NTP.
Σε αυτό το σεμινάριο, θα σας καθοδηγήσω στους τρόπους με τους οποίους μπορείτε να διαχειριστείτε τον χρόνο στο σύστημά σας Linux ρυθμίζοντας την ημερομηνία, την ώρα, τη ζώνη ώρας και το συγχρονισμό της ώρας με NTP από το τερματικό χρησιμοποιώντας τα timedatectl, systemd-timesyncd και chrony.
Είναι πάντα καλή πρακτική να διατηρείτε την σωστή ώρα στον διακομιστή ή το σύστημά σας Linux, και αυτό μπορεί να έχει τα ακόλουθα πλεονεκτήματα:
- Διατηρήστε τη σωστή λειτουργία των εργασιών του συστήματος, καθώς οι περισσότερες εργασίες στο Linux ελέγχονται από τον χρόνο.
- Ακριβής χρόνος για την καταγραφή γεγονότων και άλλων πληροφοριών στο σύστημα.
- Κατάλληλος συγχρονισμός για κατανεμημένα συστήματα και εφαρμογές.
- Απαραίτητο για πρωτόκολλα ασφαλείας όπως η Kerberos και η επικύρωση πιστοποιητικών SSL/TLS.
Πώς να βρείτε και να ρυθμίσετε τη τοπική ζώνη ώρας στο Linux
1. Για να εμφανίσετε την τρέχουσα ώρα και ημερομηνία στο σύστημά σας, χρησιμοποιήστε την εντολή timedatectl από τη γραμμή εντολών ως εξής:
timedatectl status
Στην παραπάνω έξοδο, ο χρόνος RTC είναι ο χρόνος του υλικού ρολογιού.
2. Ο χρόνος στο σύστημά σας Linux διαχειρίζεται πάντα μέσω της ζώνης ώρας που έχει οριστεί στο σύστημα. Για να δείτε την τρέχουσα ζώνη ώρας σας, κάντε το ως εξής:
timedatectl
OR
timedatectl | grep Time
3. Για να δείτε όλες τις διαθέσιμες ζώνες ώρας, εκτελέστε την παρακάτω εντολή:
timedatectl list-timezones
4. Για να βρείτε τη τοπική ζώνη ώρας σύμφωνα με την τοποθεσία σας, εκτελέστε την ακόλουθη εντολή.
timedatectl list-timezones | egrep -o "Asia/B.*"
timedatectl list-timezones | egrep -o "Europe/L.*"
timedatectl list-timezones | egrep -o "America/N.*"
5. Για να ρυθμίσετε τη τοπική σας ζώνη ώρας στο Linux, θα χρησιμοποιήσουμε την επιλογή set-timezone όπως φαίνεται παρακάτω.
sudo timedatectl set-timezone "Asia/Kolkata"
timedatectl status
Συνιστάται πάντα να χρησιμοποιείτε και να ρυθμίζετε την συντονισμένη παγκόσμια ώρα, UTC.
sudo timedatectl set-timezone UTC
timedatectl status
Πρέπει να πληκτρολογήσετε τη σωστή ονομασία της ζώνης ώρας, διαφορετικά ενδέχεται να προκύψουν λάθη κατά την αλλαγή της ζώνης ώρας. Στο παρακάτω παράδειγμα, η ζώνη ώρας «Asia/Kolkata» δεν είναι σωστή, γεγονός που προκαλεί το σφάλμα.
failed to set time zone: invalid timezone
Πώς να ρυθμίσετε την ώρα και την ημερομηνία στο Linux
Μπορείτε να ορίσετε την ημερομηνία και την ώρα στο σύστημά σας χρησιμοποιώντας την εντολή timedatectl ως εξής:
Ορισμός ώρας στο Linux
6. Για να ορίσουμε μόνο την ώρα, μπορούμε να χρησιμοποιήσουμε έναν διακόπτη set-time μαζί με τη μορφή χρόνου σε ΩΩ:ΛΛ:ΔΔ (Ώρα, Λεπτό και Δευτερόλεπτα).
sudo timedatectl set-time 12:25:30
timedatectl status
Μπορεί να λάβετε το ακόλουθο σφάλμα όταν ορίσετε την ημερομηνία όπως φαίνεται παραπάνω:
Failed to set time: Automatic time synchronization is enabled
Το σφάλμα συμβαίνει επειδή είναι ενεργοποιημένος ο αυτόματος συγχρονισμός ώρας (NTP), που εμποδίζει τις χειροκίνητες αλλαγές ώρας.
Για να το διορθώσετε, πρώτα απενεργοποιήστε το NTP και μετά ρυθμίστε την ώρα.
sudo timedatectl set-ntp false
sudo timedatectl set-time 12:25:30
timedatectl status
7. Για να ορίσετε τόσο την ημερομηνία όσο και την ώρα, χρησιμοποιήστε την επιλογή set-time μαζί με τη μορφή της ημερομηνίας σε YYYY-MM-DD (Έτος, Μήνας, Ημέρα) και της ώρας σε HH:MM:SS (Ώρα, Λεπτό, και Δευτερόλεπτα):
sudo timedatectl set-time '2026-01-23 12:25:30'
Πώς να βρείτε και να ρυθμίσετε το ρολόι υλικού στο Linux
8. Για να ρυθμίσετε το ρολόι υλικού σας σε συντονισμένη παγκόσμια ώρα, UTC, χρησιμοποιήστε την επιλογή set-local-rtc boolean-value ως εξής:
Πρώτα ανακαλύψτε αν το ρολόι υλικού σας είναι ρυθμισμένο στη τοπική ζώνη ώρας:
timedatectl | grep local
Ρυθμίστε το ρολόι υλικού στη τοπική ζώνη ώρας:
sudo timedatectl set-local-rtc 1
Ορίστε το ρολόι υλικού σας στην Παγκόσμια Ωρα Συντονισμένη (UTC):
sudo timedatectl set-local-rtc 0
Σημείωση: Η ρύθμιση του RTC στη τοπική ώρα δεν συνιστάται και μπορεί να προκαλέσει προβλήματα με τις αλλαγές της θερινής ώρας, επομένως είναι καλύτερο να διατηρείται το RTC σε UTC.
Συγχρονισμός του ρολογιού συστήματος Linux με απομακρυσμένο NTP διακομιστή
NTP σημαίνει Πρωτόκολλο Χρονισμού Δικτύου και είναι ένα πρωτόκολλο διαδικτύου που χρησιμοποιείται για τον συγχρονισμό του συστήματος ρολογιού μεταξύ των υπολογιστών.
Η υπηρεσία timedatectl σάς επιτρέπει να συγχρονίζετε αυτόματα το ρολόι του συστήματός σας Linux με μια απομακρυσμένη ομάδα διακομιστών χρησιμοποιώντας το NTP.
Οι περισσότερες σύγχρονες διανομές Linux χρησιμοποιούν διαφορετικές υλοποιήσεις για τον συγχρονισμό NTP:
- systemd-timesyncd: Ένας ελαφρύς πελάτης SNTP (Simple NTP) ενσωματωμένος στο systemd, κατάλληλος για τις περισσότερες εγκαταστάσεις σε επιτραπέζιους υπολογιστές και μονοδιακομιστές.
- chrony: Μια πλήρης υλοποίηση του NTP που μπορεί να λειτουργήσει τόσο ως πελάτης όσο και ως διακομιστής. Διαχειρίζεται καλύτερα διακοπτόμενες συνδέσεις δικτύου και είναι πιο ακριβής.
Χρήση του systemd-timesyncd
Για να ξεκινήσετε τον αυτόματο συγχρονισμό ώρας με έναν απομακρυσμένο NTP διακομιστή, πληκτρολογήστε την παρακάτω εντολή στο τερματικό, η οποία θα ενεργοποιήσει και θα ξεκινήσει την υπηρεσία systemd-timesyncd.
sudo timedatectl set-ntp true
Για να απενεργοποιήσετε τον συγχρονισμό ώρας NTP, πληκτρολογήστε την παρακάτω εντολή στο τερματικό.
sudo timedatectl set-ntp false
Για να ελέγξετε την κατάσταση συγχρονισμού:
timedatectl status
Θα πρέπει να δείτε «Σύστημα ρολογιού συγχρονισμένο: ναι» και «Υπηρεσία NTP: ενεργή».
Χρήση του chrony (Συνιστάται για διακομιστές)
Αν διαχειρίζεστε έναν διακομιστή ή χρειάζεστε πιο αξιόπιστο συγχρονισμό χρόνου, το chrony είναι η καλύτερη επιλογή και είναι ιδιαίτερα κατάλληλο για:
- Συστήματα που δεν λειτουργούν συνεχώς (φορητοί υπολογιστές, επιτραπέζιοι υπολογιστές).
- Οι διακομιστές απαιτούν υψηλή ακρίβεια.
- Συστήματα με διακοπτόμενη συνδεσιμότητα δικτύου.
- Συστοιχισμένα περιβάλλοντα όπου η συνέπεια στον χρόνο είναι κρίσιμη.
Πρώτα, εγκαταστήστε το chrony (αν δεν είναι ήδη εγκατεστημένο):
sudo apt install chrony [On Debian-based systems]
sudo dnf install chrony [On RHEL-based systems]
Σημείωση: Η εγκατάσταση του chrony θα απενεργοποιήσει αυτόματα το systemd-timesyncd για να αποφευχθούν συγκρούσεις.
Μετά την εγκατάσταση, ενεργοποιήστε, ξεκινήστε και ελέγξτε την κατάσταση συγχρονισμού:
sudo systemctl enable --now chronyd
timedatectl status
Για να χρησιμοποιήσετε τους δικούς σας NTP διακομιστές αντί για τους προεπιλεγμένους, θα πρέπει να επεξεργαστείτε το αρχείο ρυθμίσεων του Chrony.
sudo nano /etc/chrony/chrony.conf
OR
sudo nano /etc/chrony/sources.d/custom.sources
Προσθέστε τους προτιμώμενους NTP διακομιστές σας (μπορείτε να πάρετε μια λίστα NTP διακομιστών από το NTP Pool Project).
pool 0.pool.ntp.org iburst
pool 1.pool.ntp.org iburst
pool 2.pool.ntp.org iburst
Επανεκκινήστε το chrony μετά από αλλαγές:
sudo systemctl restart chronyd
Σημαντικές Σημειώσεις για τον Συγχρονισμό NTP
- Δεν μπορείτε να εκτελείτε πολλές υλοποιήσεις NTP ταυτόχρονα, οπότε επιλέξτε είτε systemd-timesyncd είτε chrony.
- systemd-timesyncd είναι μια υλοποίηση μόνο για πελάτες και δεν μπορεί να παρέχει ώρα σε άλλα συστήματα.
- chrony μπορεί να λειτουργήσει τόσο ως πελάτης χρόνου όσο και ως διακομιστής χρόνου για το τοπικό σας δίκτυο.
- Για διακομιστές παραγωγής και κρίσιμη υποδομή, συνήθως συνιστάται το chrony αντί για το systemd-timesyncd.
- Η NTP απαιτεί το άνοιγμα της θύρας UDP 123 για εξερχόμενες συνδέσεις.
Περίληψη
Αυτά είναι πολύ εύκολα παραδείγματα που περιγράφονται σε αυτό το σεμινάριο και ελπίζω να σας φανούν χρήσιμα για τη ρύθμιση διαφόρων ρολογιών και ζωνών ώρας συστημάτων Linux.
Για να μάθετε περισσότερα σχετικά με αυτό το εργαλείο, μεταβείτε στη σελίδα βοήθειας timedatectl.
man timedatectl
Αν έχετε κάτι να πείτε σχετικά με αυτό το άρθρο, μη διστάσετε να αφήσετε ένα σχόλιο για οποιαδήποτε επιπλέον πληροφορία θέλετε να προσθέσετε.










