EQVPS

Πώς να αλλάξετε το hostname και τη ζώνη ώρας σε VPS

Μετονομάστε τον server σας και βάλτε το ρολόι του στη δική σας ζώνη ώρας σε Ubuntu, Debian και Windows Server, χωρίς την προειδοποίηση του sudo που εμφανίζεται μετά από σκέτο hostnamectl, και με έλεγχο του cron, των αρχείων καταγραφής και του συγχρονισμού ώρας μετά την αλλαγή. Κάθε βήμα δοκιμασμένο στις εικόνες μας.

Ένας νέος server έχει το όνομα που γράψατε στην παραγγελία, και το ρολόι του είναι σε UTC. Και τα δύο αλλάζουν εύκολα. Η μετονομασία έχει μια παγίδα: η συνηθισμένη εντολή αφήνει μια παλιά γραμμή στο /etc/hosts, και στο Ubuntu το sudo παραπονιέται γι' αυτήν πριν από κάθε εντολή. Ο οδηγός διορθώνει και τα δύο σε Ubuntu και Debian και δείχνει τις εντολές για Windows Server. Τρέξαμε κάθε βήμα στις δικές μας εικόνες.

Χρειάζεστε χρήστη με sudo. Ο οδηγός ρύθμισης Ubuntu δημιουργεί έναν.

1. Δείτε το τρέχον όνομα και την ώρα

hostnamectl
timedatectl

Ο καινούργιος μας server με Ubuntu 24.04 έδειξε ως στατικό hostname το όνομα της παραγγελίας, μαζί με Time zone: Etc/UTC, System clock synchronized: yes και NTP service: active. Τα Debian 12 και 13 έδειξαν τα ίδια. Ο συγχρονισμός του ρολογιού λειτουργεί ήδη, οπότε δεν χρειάζεται να εγκαταστήσετε NTP.

2. Αλλάξτε το hostname

Διαλέξτε ένα σύντομο όνομα, ή ένα πλήρες αν θα ταιριάζει με εγγραφή DNS που ελέγχετε, όπως web1.example.com:

sudo hostnamectl set-hostname web1.example.com

Το όνομα αλλάζει αμέσως, αλλά το /etc/hosts εξακολουθεί να δείχνει το 127.0.1.1 στο παλιό. Στο Ubuntu φάνηκε αμέσως:

sudo: unable to resolve host web1.example.com: No address associated with hostname

Το hostname -f αποτύγχανε με τον ίδιο τρόπο. Το Debian βρήκε το όνομα από άλλο δρόμο και δεν έδειξε προειδοποίηση, αλλά το /etc/hosts του ήταν εξίσου παλιό. Διορθώστε το αρχείο και στα δύο:

sudo sed -i 's/^127\.0\.1\.1 .*/127.0.1.1 web1.example.com web1/' /etc/hosts
grep 127.0.1.1 /etc/hosts
hostname -f

Μετά από αυτό το sudo σώπασε, το hostname -f τύπωσε web1.example.com και το hostname -s τύπωσε web1.

Το σχόλιο στην αρχή του /etc/hosts λέει ότι το αρχείο το διαχειρίζεται το cloud-init και ότι οι αλλαγές σας μπορεί να χαθούν. Στις εικόνες μας, το cloud-init το γράφει μόνο στην πρώτη εκκίνηση του server. Κάναμε επανεκκίνηση και μετά βάλαμε το cloud-init να θεωρήσει την επόμενη εκκίνηση νέα εγκατάσταση. Το όνομα και η γραμμή μας στο /etc/hosts άντεξαν και τα δύο.

Το hostname υπάρχει μόνο στον server σας. Αν άλλα μηχανήματα πρέπει να τον βρίσκουν με αυτό το όνομα, προσθέστε και εγγραφή DNS: το πώς να κατευθύνετε ένα domain στο VPS σας το εξηγεί. Για server αλληλογραφίας μετράει και η αντίστροφη εγγραφή: δείτε τη ρύθμιση αντίστροφου DNS.

3. Αλλάξτε τη ζώνη ώρας

Εμφανίστε τις ζώνες και διαλέξτε τη δική σας. Ο server μας είχε 497:

timedatectl list-timezones | grep -i tokyo
sudo timedatectl set-timezone Asia/Tokyo
timedatectl

Το ίδιο το ρολόι δεν μετακινείται. Αλλάζει μόνο ο τρόπος που εμφανίζονται οι ώρες και που διαβάζονται τα τοπικά χρονοδιαγράμματα. Αυτά είδαμε μετά τη μετάβαση από UTC σε Asia/Tokyo:

ΤιΜετά την αλλαγή
date, journalctlΑμέσως ώρα Τόκιο
cronΑμέσως ώρα Τόκιο: εργασία για τις 09:48 έτρεξε στις 09:48:01 JST, χωρίς επανεκκίνηση
/var/log/syslog (Ubuntu)Έγραφε ώρες UTC μέχρι την επανεκκίνηση του rsyslog
/etc/timezone (Ubuntu)Έγραφε ακόμη Etc/UTC

Επανεκκινήστε λοιπόν την υπηρεσία καταγραφής και ό,τι τρέχει πολλή ώρα και τυπώνει ώρες, όπως την εφαρμογή σας:

sudo systemctl restart rsyslog

Τα Debian 12 και 13 δεν εγκαθιστούν rsyslog. Τα logs τους υπάρχουν μόνο στο journal, που ακολουθεί μόνο του τη νέα ζώνη.

Μερικά παλιά προγράμματα διαβάζουν τη ζώνη από το /etc/timezone αντί από τη ρύθμιση του συστήματος. Αν κάποιο εξακολουθεί να δείχνει UTC, γράψτε εκεί το ίδιο όνομα και επανεκκινήστε το πρόγραμμα:

echo Asia/Tokyo | sudo tee /etc/timezone

Πριν αλλάξετε, κοιτάξτε το crontab σας. Μια γραμμή 0 3 * * * γραμμένη για τις 03:00 UTC θα τρέχει πλέον στις 03:00 ώρα Τόκιο, δηλαδή εννέα ώρες νωρίτερα σε πραγματικό χρόνο.

4. Windows Server

Στα Windows Server 2022 ανοίξτε το PowerShell ως διαχειριστής. Η μετονομασία χρειάζεται επανεκκίνηση:

Rename-Computer -NewName web1 -Restart

Τα ονόματα υπολογιστών στα Windows περιορίζονται σε 15 χαρακτήρες, οπότε εδώ χρησιμοποιήστε το σύντομο όνομα.

Για τη ζώνη ώρας βρείτε το αναγνωριστικό και ορίστε το. Ισχύει αμέσως, χωρίς επανεκκίνηση:

Get-TimeZone -ListAvailable | Where-Object Id -like '*Tokyo*'
Set-TimeZone -Id 'Tokyo Standard Time'
Get-TimeZone

Αφού συνδεθήκατε, είναι καλή στιγμή να θωρακίσετε το RDP.

Ποιο πακέτο

Το hostname και η ζώνη ώρας δεν κοστίζουν τίποτα, οπότε κάνει οποιοδήποτε πακέτο: Nano με $3/μήνα για μικρό server Linux, Windows-Small με $11/μήνα για Windows Server 2022. Όλα τα πακέτα είναι στη σελίδα VPS, και η πληρωμή γίνεται σε USDT, USDC ή ETH στα δίκτυα Base, Ethereum ή Polygon.

Συχνές ερωτήσεις

Θα επαναφέρει το cloud-init το παλιό όνομα μετά από επανεκκίνηση;

Όχι στις εικόνες μας. Ορίσαμε νέο όνομα με hostnamectl, κάναμε επανεκκίνηση και μετά βάλαμε το cloud-init να θεωρήσει την επόμενη εκκίνηση ολοκαίνουργια εγκατάσταση. Το όνομα έμεινε και τις δύο φορές, όπως και η αλλαγή μας στο /etc/hosts. Μια επανεγκατάσταση σας δίνει καθαρό σύστημα με το αρχικό όνομα.

Γιατί το sudo γράφει «unable to resolve host» μετά τη μετονομασία;

Το hostnamectl αλλάζει το όνομα αλλά όχι το /etc/hosts, όπου το 127.0.1.1 δείχνει ακόμη στο παλιό όνομα. Στο Ubuntu, το sudo τότε τυπώνει «unable to resolve host» πριν από κάθε εντολή. Αντικαταστήστε το παλιό όνομα με το νέο στη γραμμή 127.0.1.1 και η προειδοποίηση φεύγει.

Ο server μου πρέπει να έχει UTC ή την τοπική μου ώρα;

Το UTC είναι η ασφαλέστερη επιλογή: οι ώρες στα αρχεία καταγραφής διαφορετικών servers ταιριάζουν και δεν υπάρχουν άλματα με τη θερινή ώρα. Περάστε στη δική σας ζώνη αν θέλετε οι εργασίες cron και οι ώρες των logs να διαβάζονται στη δική σας ώρα. Δουλεύουν και τα δύο, και μπορείτε να αλλάξετε ξανά όποτε θέλετε.

Χρειάζεται να ρυθμίσω NTP;

Όχι. Οι εικόνες μας Ubuntu και Debian συγχρονίζουν το ρολόι με το systemd-timesyncd από την πρώτη εκκίνηση. Τρέξτε timedatectl και ψάξτε για «System clock synchronized: yes».

Η αλλαγή ζώνης ώρας θα χαλάσει τις εργασίες cron μου;

Το cron χρησιμοποιεί αμέσως τη νέα ζώνη. Στον server μας με Ubuntu 24.04, μια εργασία ρυθμισμένη στις 09:48 ώρα Τόκιο έτρεξε στις 09:48:01 ώρα Τόκιο, χωρίς επανεκκίνηση του cron. Ελέγξτε όμως τις εργασίες που γράφτηκαν για UTC: τώρα τρέχουν σε εκείνη την ώρα της τοπικής σας ζώνης.

Σχόλια

Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.

Αφήστε ένα σχόλιο

Τα σχόλια ελέγχονται πριν εμφανιστούν.