Change timezone on AlmaLinux 10 with timedatectl, then confirm the local offset and time synchronization. The setting applies immediately, so most VPS changes take less than five minutes and do not need a reboot.
Prerequisites
- AlmaLinux 10 installed on the VPS.
- An SSH connection as
root, or a regular user with workingsudoprivileges. - The IANA timezone name you want, such as
America/Chicago,Europe/London, orAsia/Kolkata. - No special RAM, disk, or domain requirement; a VPSLake Linux VPS provides the AlmaLinux server and administrator access needed here.
Step 1: Inspect the current clock
Check the current zone and synchronization state before changing anything so you have a reliable before-and-after comparison.
timedatectl status
date '+%F %T %Z %z'
You should see output similar to this, although the date and offset will depend on the server:
Local time: Wed 2026-10-07 18:20:14 UTC
Universal time: Wed 2026-10-07 18:20:14 UTC
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
2026-10-07 18:20:14 UTC +0000
timedatectl reports the system-wide timezone, while date gives a compact view of the local clock. The timezone controls how the instant is displayed; it does not replace network time synchronization.
Step 2: Choose a valid IANA timezone
AlmaLinux expects a timezone database identifier, not a label such as “Central Time” or “India time,” so select an exact value from the installed list.
timedatectl list-timezones | less
Press Page Down and Page Up to browse, then press q to exit. You can filter the list when you already know the likely region:
timedatectl list-timezones | grep -E '^(America|Asia|Australia|Europe)/'
Example entries include:
America/Chicago
America/Los_Angeles
America/New_York
Asia/Kolkata
Asia/Singapore
Europe/London
Prefer a city-based entry because it includes the applicable daylight-saving rules. Choose UTC when logs, scheduled tasks, and services should use one unchanging reference zone.
Step 3: Set the AlmaLinux 10 timezone
Run timedatectl set-timezone with the exact IANA name; systemd changes the active setting and the persistent local-time configuration together.
sudo timedatectl set-timezone YOUR_REGION/YOUR_CITY
Replace YOUR_REGION/YOUR_CITY with a real entry from Step 2, such as America/Chicago or Asia/Kolkata. A successful command normally prints nothing. Read the value back immediately:
timedatectl show --property=Timezone --value
date '+%F %T %Z %z'
For Asia/Kolkata, the result will resemble:
Asia/Kolkata
2026-10-08 00:05:14 IST +0530
This changes the displayed local time without manually setting the clock or turning off NTP. For the command’s supported options, see the official timedatectl documentation.
Step 4: Check chrony and the saved timezone link
AlmaLinux uses chronyd for network time synchronization, while /etc/localtime points to the timezone data used by system libraries. Check both so a correct display is not mistaken for a synchronized clock.
systemctl is-active chronyd
chronyc tracking
readlink -f /etc/localtime
Healthy output should contain values like these:
active
Reference ID : 192.0.2.1 (ntp.example)
Stratum : 3
System time : 0.000012345 seconds fast of NTP time
Leap status : Normal
/usr/share/zoneinfo/Asia/Kolkata
The reference server and offset will be different on your VPS. The important checks are active, a normal leap status, and a /usr/share/zoneinfo/ path ending in the zone you selected. AlmaLinux’s chrony documentation covers the service when you need to inspect synchronization further.
Verify the new timezone
Run a final check that compares local time with UTC and confirms the zone stored by systemd.
timedatectl status
timedatectl show --property=Timezone --property=NTP --property=NTPSynchronized
date -u '+UTC: %F %T %Z'
date '+Local: %F %T %Z %z'
The key lines should look like this after selecting India Standard Time:
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: yes
NTP service: active
Timezone=Asia/Kolkata
NTP=yes
NTPSynchronized=yes
UTC: 2026-10-07 18:35:14 UTC
Local: 2026-10-08 00:05:14 IST +0530
The UTC and local timestamps describe the same instant with different offsets. If they do, AlmaLinux 10 is using the selected timezone and chrony is still keeping the clock accurate.
Troubleshooting
Failed to set time zone: Invalid or unknown time zone
The supplied value is not an exact entry in AlmaLinux’s timezone database. Run timedatectl list-timezones, copy a complete name such as America/Denver, and repeat the command. Do not use spaces, abbreviations, or a Windows timezone label.
Access denied or Authentication is required
Changing the system-wide zone requires administrator privileges. Add sudo, confirm that sudo -v succeeds, or reconnect as root; do not edit permissions on /etc/localtime.
chronyc tracking cannot connect
The chronyd service may be stopped, missing, or unable to reach its configured time sources. Check its state and recent messages first:
systemctl status chronyd --no-pager
journalctl -u chronyd -n 30 --no-pager
If the package is absent, install it and enable the service:
sudo dnf install -y chrony
sudo systemctl enable --now chronyd
chronyc tracking
Allow outbound UDP port 123 in any upstream firewall or security group. Do not run multiple time-sync daemons at the same time.
The timezone changed, but an application still shows UTC
Some services intentionally use UTC or read the timezone only when they start. Confirm the operating system with timedatectl and date, then inspect that application’s own timezone setting and restart only the affected service if its documentation requires it.
Hardening and operational notes
- Keep production systems on
UTCwhen services span multiple regions; it avoids ambiguous log and cron timestamps around daylight-saving changes. - Review local-time cron jobs after changing zones because their UTC execution time may move seasonally.
- Keep chrony enabled and avoid changing the clock manually with
dateon a production VPS. - Record the selected IANA name in your provisioning notes so a rebuild uses the same setting.
FAQ
What timezone should I use for India on AlmaLinux 10?
Use Asia/Kolkata. It is the current IANA identifier for India Standard Time and uses a +0530 offset without seasonal daylight-saving changes.
Does changing the timezone require a reboot?
No. timedatectl set-timezone applies the system setting immediately and persists it through reboots. Restart an individual application only if it cached the previous zone at startup.
Will this change alter NTP synchronization?
No. Chrony synchronizes the system clock to a time source, while the timezone controls how that instant is displayed. Check chronyc tracking and timedatectl status after the change to confirm both remain healthy.
Should a VPS use UTC or local time?
UTC is usually easier to operate across regions because logs and scheduled jobs share one reference. Use a local zone when a business process depends on local civil time, and make sure the application, database, and job scheduler follow the same convention.