EQVPS
DashboardKom i gang

Sådan skifter du værtsnavn og tidszone på en VPS

Omdøb din server og stil dens ur på din tidszone i Ubuntu, Debian og Windows Server, uden sudo-advarslen der kommer efter et rent hostnamectl, og med tjek af cron, logs og tidssynkronisering efter skiftet. Hvert trin testet på vores images.

En ny server hedder det, du skrev, da du bestilte den, og dens ur står på UTC. Begge dele er nemme at ændre. Omdøbning har én hage: den sædvanlige kommando efterlader en gammel linje i /etc/hosts, og på Ubuntu brokker sudo sig over den før hver kommando. Denne guide retter begge dele i Ubuntu og Debian og viser kommandoerne til Windows Server. Vi kørte hvert trin på vores egne images.

Du skal bruge en bruger med sudo. Guiden til opsætning af Ubuntu opretter en.

1. Tjek det nuværende navn og den nuværende tid

hostnamectl
timedatectl

Vores nye Ubuntu 24.04-server viste bestillingsnavnet som statisk værtsnavn samt Time zone: Etc/UTC, System clock synchronized: yes og NTP service: active. Debian 12 og 13 så ens ud. Tidssynkroniseringen virker altså allerede, så du behøver ikke installere NTP.

2. Skift værtsnavn

Vælg et kort navn, eller et fuldt navn hvis det skal passe til en DNS-post, du styrer, for eksempel web1.example.com:

sudo hostnamectl set-hostname web1.example.com

Navnet skifter med det samme, men /etc/hosts lader stadig 127.0.1.1 pege på det gamle. På Ubuntu viste det sig straks:

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

hostname -f fejlede på samme måde. Debian fandt navnet ad en anden vej og viste ingen advarsel, men dens /etc/hosts var lige så forældet. Ret filen på begge:

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

Bagefter var sudo stille, hostname -f skrev web1.example.com, og hostname -s skrev web1.

Kommentaren øverst i /etc/hosts siger, at cloud-init styrer filen, og at dine ændringer kan gå tabt. På vores images skriver cloud-init den kun ved serverens første opstart. Vi genstartede og fik derefter cloud-init til at behandle næste opstart som en ny instans. Navnet og vores linje i /etc/hosts klarede begge.

Værtsnavnet findes kun på din server. Skal andre maskiner kunne nå den under det navn, så tilføj også en DNS-post: peg et domæne mod din VPS forklarer hvordan. Til en mailserver betyder den omvendte post også noget: se opsætning af omvendt DNS.

3. Skift tidszone

Vis zonerne og vælg din. Vores server havde 497:

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

Selve uret flytter sig ikke. Det eneste, der ændres, er hvordan tider vises, og hvordan lokale planer læses. Det her så vi efter skiftet fra UTC til Asia/Tokyo:

HvadEfter skiftet
date, journalctlTokyo-tid med det samme
cronTokyo-tid med det samme: et job sat til 09:48 kørte 09:48:01 JST, uden genstart
/var/log/syslog (Ubuntu)Skrev UTC-tider, indtil rsyslog blev genstartet
/etc/timezone (Ubuntu)Stod stadig på Etc/UTC

Genstart derfor logtjenesten og alt langtidskørende, der skriver tider ud, som din app:

sudo systemctl restart rsyslog

Debian 12 og 13 installerer ikke rsyslog. Deres logs ligger kun i journalen, som selv følger den nye zone.

Et par ældre programmer læser zonen fra /etc/timezone i stedet for systemindstillingen. Hvis et af dem stadig viser UTC, så skriv samme navn dér og genstart programmet:

echo Asia/Tokyo | sudo tee /etc/timezone

Gennemgå din crontab, før du skifter. En linje 0 3 * * *, skrevet til 03:00 UTC, kører nu 03:00 Tokyo-tid, ni timer tidligere i virkelig tid.

4. Windows Server

Åbn PowerShell som administrator i Windows Server 2022. Omdøbningen kræver en genstart:

Rename-Computer -NewName web1 -Restart

Computernavne i Windows er begrænset til 15 tegn, så brug det korte navn her.

Til tidszonen finder du id'et og sætter det. Det gælder straks, uden genstart:

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

Når du nu er logget ind, er det et godt tidspunkt at sikre RDP.

Hvilken plan

Værtsnavn og tidszone koster ingenting, så enhver plan passer: Nano til $3/md. til en lille Linux-server, Windows-Small til $11/md. til Windows Server 2022. Alle planer står på siden VPS, og betaling sker i USDT, USDC eller ETH på Base, Ethereum eller Polygon.

FAQ

Sætter cloud-init mit værtsnavn tilbage efter en genstart?

Ikke på vores images. Vi satte et nyt navn med hostnamectl, genstartede og fik desuden cloud-init til at behandle næste opstart som en helt ny instans. Navnet blev stående begge gange, og det samme gjorde vores ændring i /etc/hosts. En geninstallation giver dig et nyt system med det oprindelige navn.

Hvorfor skriver sudo "unable to resolve host" efter omdøbningen?

hostnamectl skifter navnet, men ikke /etc/hosts, hvor 127.0.1.1 stadig peger på det gamle navn. På Ubuntu skriver sudo så "unable to resolve host" før hver kommando. Erstat det gamle navn med det nye på linjen 127.0.1.1, så forsvinder advarslen.

Skal min server køre UTC eller min lokale tid?

UTC er det sikreste valg: logtider fra forskellige servere passer sammen, og der er ingen spring ved sommertid. Skift til din egen zone, hvis du vil læse cron-job og logtider i din egen tid. Begge dele virker, og du kan skifte igen når som helst.

Skal jeg sætte NTP op?

Nej. Vores Ubuntu- og Debian-images holder uret synkroniseret med systemd-timesyncd fra første opstart. Kør timedatectl og kig efter "System clock synchronized: yes".

Ødelægger et skift af tidszone mine cron-job?

Cron bruger den nye zone med det samme. På vores Ubuntu 24.04-server kørte et job sat til 09:48 Tokyo-tid klokken 09:48:01 Tokyo-tid, uden at cron blev genstartet. Tjek dog job, der er skrevet til UTC: de kører nu på det klokkeslæt i din lokale tid.

Kommentarer

Ingen kommentarer endnu. Vær den første.

Skriv en kommentar

Kommentarer modereres, før de vises.