How to Change Timezone on CentOS Stream 10 (Step-by-Step)

Change timezone on CentOS Stream 10 with timedatectl, select an IANA zone, keep chrony synchronized, and verify the result without rebooting.
A polished midnight-blue server rack with a glowing clock and subtle red time-zone rings.

Change timezone on CentOS Stream 10 with timedatectl, then confirm that the system is still synchronized with network time. The update is immediate and usually takes less than five minutes, with no server reboot required.

Prerequisites

  • CentOS Stream 10 installed and reachable over SSH.
  • A root shell or a normal user with working sudo privileges.
  • The destination timezone, preferably its IANA name such as America/Chicago, Europe/London, or Asia/Kolkata.
  • No special RAM, disk, or domain requirement; a VPSLake Linux VPS provides the server access needed for this change.

Step 1: Capture the current time settings

Record the current zone and synchronization state first so you can tell a display change from an inaccurate system clock.

timedatectl status
date '+Local: %F %T %Z %z'
date -u '+UTC: %F %T %Z'

Your date will differ, but a newly provisioned host may show something like this:

               Local time: Thu 2026-10-08 09:20:14 UTC
           Universal time: Thu 2026-10-08 09:20:14 UTC
                 Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
              NTP service: active
Local: 2026-10-08 09:20:14 UTC +0000
UTC: 2026-10-08 09:20:14 UTC

The timezone changes how the current instant is formatted. It does not set the clock, so keep network synchronization enabled.

Step 2: Select an installed IANA timezone

CentOS Stream expects an exact zoneinfo identifier rather than a label such as “Central Time” or “India time.” Filter the installed list to find the correct region and city.

timedatectl list-timezones | grep -E '^(America|Asia|Australia|Europe)/'

Typical entries include:

America/Chicago
America/Denver
America/New_York
Asia/Kolkata
Asia/Singapore
Europe/London

If you already know the likely city, narrow the result:

timedatectl list-timezones | grep -E 'America/(Chicago|Denver|New_York)$'

For the full database, run timedatectl list-timezones | less and press q when finished. Prefer a city-based identifier because it includes the applicable daylight-saving rules; use UTC when you want logs and scheduled work to follow one stable reference.

Step 3: Apply the new timezone

Use systemd’s time-management interface so the active setting and persistent /etc/localtime configuration stay aligned.

sudo timedatectl set-timezone YOUR_REGION/YOUR_CITY

Replace YOUR_REGION/YOUR_CITY with the complete entry from Step 2, such as America/Chicago or Asia/Kolkata. A successful command normally prints no output. Read the stored value and its zoneinfo target:

timedatectl show --property=Timezone --value
readlink -f /etc/localtime

For Asia/Kolkata, the result should resemble:

Asia/Kolkata
/usr/share/zoneinfo/Asia/Kolkata

This changes local-time display without manually changing the clock or editing /etc/localtime. See the official timedatectl documentation for the supported properties and operations.

Step 4: Check Chrony separately

CentOS Stream 10 uses chronyd for network time synchronization, while the timezone controls presentation. Check the service and tracking data so a correct offset is not mistaken for a synchronized clock.

systemctl is-enabled chronyd
systemctl is-active chronyd
chronyc tracking

A healthy machine should report enabled, active, and a tracking report containing values similar to these:

enabled
active
Reference ID    : 192.0.2.20 (time.example)
Stratum         : 3
System time     : 0.000014 seconds fast of NTP time
Leap status     : Normal

The reference address and offset vary. Look for an enabled, active service and Leap status : Normal. The official RHEL 10 Chrony documentation explains the same chronyd and chronyc checks used on this RHEL-compatible release.

Verify the CentOS Stream 10 timezone

Compare local time with UTC and ask systemd for the exact zone and synchronization flags. Both 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 selecting America/Chicago, the important output will look similar to this:

Timezone=America/Chicago
NTP=yes
NTPSynchronized=yes
UTC:   2026-10-08 14:20:40 UTC
Local: 2026-10-08 09:20:40 CDT -0500

If Timezone matches your chosen identifier and NTPSynchronized=yes, the operating system is configured correctly. Applications that intentionally use UTC may still display UTC; that is an application setting, not evidence that the host change failed.

Troubleshooting

Failed to set time zone: Invalid or unknown time zone

The argument is not an exact entry in the installed timezone database. Run timedatectl list-timezones, copy the complete capitalization and underscore spelling, and retry. Do not use a three-letter abbreviation, a Windows timezone label, or spaces.

sudo: timedatectl: command not found

This usually means the command is being run inside a minimal container or a restricted environment rather than a normal CentOS Stream 10 VPS. On a full host, confirm that systemd is PID 1 with ps -p 1 -o comm=; if it is not, change the timezone through the container or image runtime instead of modifying the host blindly.

Authentication is required or Access denied

Changing the system-wide timezone is an administrative operation. Test the account with sudo -v, add sudo to the command, or reconnect as root; changing permissions on /etc/localtime is neither necessary nor safe.

chronyc tracking cannot connect

The Chrony package may be missing or chronyd may be stopped. Inspect the service and recent messages first:

systemctl status chronyd --no-pager
journalctl -u chronyd -n 30 --no-pager

If the package is absent, install and start the CentOS Stream service:

sudo dnf install -y chrony
sudo systemctl enable --now chronyd
chronyc tracking

The VPS also needs outbound UDP port 123 through any provider firewall or security group. Do not run a second time-sync daemon alongside Chrony.

Operational notes

  • Use UTC for infrastructure serving multiple regions unless a business process specifically needs local civil time.
  • Review cron schedules after switching to a daylight-saving zone; a local-time job can move relative to UTC when the offset changes.
  • Keep chronyd enabled and do not use date to manually alter a production clock.
  • Record the selected IANA identifier in your provisioning notes so a rebuild uses the same convention.

FAQ

Does changing the timezone change the server’s actual clock?

No. timedatectl set-timezone changes the representation of the current instant, while Chrony keeps that instant aligned with network time. Check chronyc tracking when you need to investigate clock accuracy.

Can I use PST or IST instead of a city name?

Use a full IANA name such as America/Los_Angeles or Asia/Kolkata. Abbreviations can be ambiguous and do not consistently carry daylight-saving rules.

Will CentOS Stream 10 need a reboot?

No. The system-wide setting applies immediately and persists across reboots through /etc/localtime. Restart only an application that explicitly caches its timezone during startup.

Why do some logs remain in UTC?

Many services deliberately log in UTC so events from different regions are easy to correlate. Check the service’s own timezone or logging configuration before changing the host zone again.

Samrat Ghosh
Written by

Samrat Ghosh

Founder & Infrastructure Engineer

Samrat Ghosh is the founder of VPSLake, where he builds and runs the remote desktop and VPS hosting infrastructure the company is built on. He writes hands-on guides about RDP, Windows Server, VPS management and secure remote access - the practical documentation he wishes had…

Previous Article

How Much RAM Does a Minecraft Server Need?

Next Article

Best RDP for Bangladesh in 2026: Price and Speed

Write a Comment

Leave a Comment

Your email address will not be published. Required fields are marked *

Subscribe to our Newsletter

Subscribe to our email newsletter to get the latest posts delivered right to your email.
Pure inspiration, zero spam ✨