Change timezone on Rocky Linux 8 with timedatectl, then check that Chrony is still keeping the underlying clock accurate. The update is immediate and usually takes less than five minutes over SSH, with no reboot required.
Prerequisites
- Rocky Linux 8 installed on the VPS.
- SSH access as
root, or a regular user with workingsudoprivileges. - The target timezone as an IANA name, such as
America/Denver,Europe/London, orAsia/Kolkata. - No special RAM, disk, or domain requirement; a VPSLake Linux VPS gives you the server access needed for this change.
Step 1: Inspect the current clock and timezone
Record the existing values first so you can tell a timezone display change from a clock that is not synchronized.
timedatectl status
date '+Local: %F %T %Z %z'
date -u '+UTC: %F %T %Z'
The timestamps will differ on your server. A host that currently uses UTC may return something like:
Local time: Thu 2026-10-08 09:30:18 UTC
Universal time: Thu 2026-10-08 09:30:18 UTC
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
Local: 2026-10-08 09:30:18 UTC +0000
UTC: 2026-10-08 09:30:18 UTC
The timezone only changes how the current instant is displayed. It does not set the clock, so keep network time synchronization enabled.
Step 2: Find the exact IANA timezone
Rocky Linux 8 expects a zoneinfo identifier, not a label such as “Mountain Time” or an abbreviation such as MST. List the installed choices and copy one exactly.
timedatectl list-timezones | grep -E '^(America|Asia|Australia|Europe)/'
Example results include:
America/Denver
America/Los_Angeles
America/New_York
Asia/Kolkata
Australia/Sydney
Europe/London
If you need the full database, run the following and press q to leave the pager:
timedatectl list-timezones | less
Use a city-based entry because it includes that location’s daylight-saving rules. Select UTC instead when logs and scheduled maintenance should use one stable offset all year.
Step 3: Apply the new timezone
Use systemd’s timezone command so Rocky Linux updates the active setting and persistent /etc/localtime configuration together.
sudo timedatectl set-timezone YOUR_REGION/YOUR_CITY
Replace YOUR_REGION/YOUR_CITY with an exact entry from Step 2, such as America/Denver or Asia/Kolkata. A successful command normally prints nothing. Read back the saved name and resolved timezone file:
timedatectl show --property=Timezone --value
readlink -f /etc/localtime
For America/Denver, the result should resemble:
America/Denver
/usr/share/zoneinfo/America/Denver
Do not edit /etc/localtime by hand or manually adjust the clock. The RHEL 8 date and time documentation documents the same timedatectl workflow used by Rocky Linux 8.
Step 4: Confirm Chrony still synchronizes the clock
Timezone selection and NTP synchronization are separate settings, so check Rocky Linux 8’s chronyd service after changing the display zone.
systemctl is-enabled chronyd
systemctl is-active chronyd
chronyc tracking
On a healthy VPS, the first two commands should return enabled and active. The tracking report should contain values similar to these:
enabled
active
Reference ID : 192.0.2.40 (time.example)
Stratum : 3
System time : 0.000018 seconds fast of NTP time
Leap status : Normal
The reference server and offset will be different on your VPS. Look for an active service and Leap status : Normal; do not run another time daemon alongside Chrony. The official timedatectl reference lists the systemd properties used in the checks above.
Verify the new Rocky Linux 8 timezone
Compare the selected IANA name, synchronization state, local time, and UTC in one final check. The two date lines should represent the same instant with different offsets.
timedatectl show --property=Timezone --property=NTP --property=NTPSynchronized
date -u '+UTC: %F %T %Z'
date '+Local: %F %T %Z %z'
After choosing America/Denver, expected output will look similar to this:
Timezone=America/Denver
NTP=yes
NTPSynchronized=yes
UTC: 2026-10-08 09:35:18 UTC
Local: 2026-10-08 03:35:18 MDT -0600
Your timestamps will be different. The change is correct when Timezone matches the selected entry and NTPSynchronized=yes; a service that intentionally logs in UTC may still show UTC.
Troubleshooting
Failed to set time zone: Invalid or unknown time zone
The value is not an exact entry in Rocky Linux’s timezone database. Run timedatectl list-timezones, copy the complete region and city spelling, and retry. Do not use a Windows timezone name, a friendly label, or a three-letter abbreviation.
Authentication is required or Access denied
Changing the system-wide timezone requires administrator privileges. Confirm the account with sudo -v, add sudo to the set-timezone command, or reconnect as root; changing permissions on /etc/localtime is not necessary.
chronyc: command not found or chronyd is inactive
The Chrony package may be missing or its service may have stopped. Inspect the unit and recent messages first:
systemctl status chronyd --no-pager
journalctl -u chronyd -n 30 --no-pager
If the package is absent, install it from the Rocky Linux repositories and start the service:
sudo dnf install -y chrony
sudo systemctl enable --now chronyd
chronyc tracking
If tracking still has no usable source, check chronyc sources -v and confirm that outbound UDP port 123 is allowed by any provider firewall or security group.
date still shows UTC after the change
First check timedatectl show --property=Timezone --value. If it reports your selected zone, the host setting is correct; the shell may have a TZ environment variable, or the application may deliberately use UTC. Check the affected program’s own timezone configuration before changing the server again.
Hardening and operational notes
- Use
UTCfor shared infrastructure unless a business process specifically depends on local civil time; it makes logs from different regions easier to compare. - Review cron schedules after selecting a daylight-saving zone because a local-time job can move relative to UTC when the offset changes.
- Keep
chronydenabled and avoid manually changing a production clock withdate. - Record the chosen IANA identifier in your provisioning notes so a rebuild uses the same convention.
FAQ
Does changing the timezone change Rocky Linux 8’s actual clock?
No. timedatectl set-timezone changes the way the current instant is rendered as local time, while Chrony keeps that instant aligned with network sources. Use chronyc tracking to investigate clock synchronization separately.
Which timezone should I use for Denver or Salt Lake City?
Use America/Denver for both locations. It applies the Mountain Time rules, including seasonal daylight-saving changes; choose UTC if the server supports systems in several regions instead.
Can I use PST, MST, or IST as the timezone?
Use a complete IANA name such as America/Denver, America/Los_Angeles, or Asia/Kolkata. Abbreviations can be ambiguous and do not reliably contain the location’s seasonal offset rules.
Will existing services need a reboot?
No. Rocky Linux changes the system timezone immediately and persists it through reboots. Restart only an application that explicitly reads the timezone once at startup and continues showing the old value.