Change timezone on AlmaLinux 8 with timedatectl and the correct IANA location name. The new setting takes effect immediately, so you can update a fresh VPS and validate its clock in about five minutes without rebooting.
Prerequisites
- AlmaLinux 8 installed and reachable over SSH.
- A
rootsession or a regular account that can run commands withsudo. - The target timezone, preferably a city-based IANA name such as
America/Los_Angeles,Europe/Berlin, orAsia/Kolkata. - No special RAM, disk, or domain requirement; a VPSLake Linux VPS gives you the server access required for this change.
Step 1: Record the current timezone
Start with a before-and-after reference so you can distinguish a timezone change from a clock-synchronization problem.
timedatectl status
date '+Local: %F %T %Z %z'
date -u '+UTC: %F %T %Z'
The output should include the current zone, whether the system clock is synchronized, and the active NTP service. Your date and offset will differ, but a server using UTC may look like this:
Local time: Thu 2026-10-08 04:20:11 UTC
Universal time: Thu 2026-10-08 04:20:11 UTC
Time zone: Etc/UTC (UTC, +0000)
System clock synchronized: yes
NTP service: active
Local: 2026-10-08 04:20:11 UTC +0000
UTC: 2026-10-08 04:20:11 UTC
The timezone changes how software formats the current instant. It does not set the server clock, so leave time synchronization enabled.
Step 2: Find the exact IANA zone name
timedatectl accepts database identifiers, not informal names such as “Pacific Time.” Listing the installed choices prevents a spelling mistake and shows which daylight-saving rules are available on this AlmaLinux 8 system.
timedatectl list-timezones | grep -E '^(America|Asia|Australia|Europe)/'
For the complete list, use a pager:
timedatectl list-timezones | less
Press q to leave less. Typical matches include:
America/Chicago
America/Los_Angeles
America/New_York
Asia/Kolkata
Asia/Singapore
Europe/Berlin
Use a city entry rather than a fixed abbreviation such as PST; the city entry carries the region’s seasonal offset rules. Select UTC if you want logs and scheduled operations to use one stable reference time everywhere.
Step 3: Apply the new timezone
Set the system-wide zone through systemd so /etc/localtime and the running system agree instead of editing timezone files by hand.
sudo timedatectl set-timezone YOUR_REGION/YOUR_CITY
Replace YOUR_REGION/YOUR_CITY with the complete value from Step 2, for example America/Los_Angeles or Asia/Kolkata. A successful command normally returns no text. Read back the setting immediately:
timedatectl show --property=Timezone --value
date '+%F %T %Z %z'
If you selected America/Los_Angeles, the result will resemble:
America/Los_Angeles
2026-10-07 21:20:11 PDT -0700
The abbreviation and offset depend on the date. The official timedatectl reference documents the command options available through systemd.
Step 4: Check chrony and the timezone link
AlmaLinux 8 normally uses Chrony for network time, while the local-time link tells system libraries which zoneinfo file to read. Check both before moving on to applications or cron jobs.
systemctl is-active chronyd
chronyc tracking
readlink -f /etc/localtime
A healthy server should show active, a normal chrony tracking report, and a final path matching your choice:
active
Reference ID : 192.0.2.10 (ntp.example)
Stratum : 3
System time : 0.000012345 seconds fast of NTP time
Leap status : Normal
/usr/share/zoneinfo/America/Los_Angeles
The reference address and offset are examples, not values to copy. The important results are an active chronyd, a Normal leap status, and a /usr/share/zoneinfo/ path ending in the selected zone. If you need to tune synchronization, consult the Chrony documentation rather than manually changing the clock.
Verify the new timezone
Use one final comparison to prove that AlmaLinux 8 is displaying the same instant in both UTC and the selected local zone.
timedatectl status
timedatectl show --property=Timezone --property=NTP --property=NTPSynchronized
date -u '+UTC: %F %T %Z'
date '+Local: %F %T %Z %z'
For Asia/Kolkata, the relevant lines should look similar to this:
Time zone: Asia/Kolkata (IST, +0530)
System clock synchronized: yes
NTP service: active
Timezone=Asia/Kolkata
NTP=yes
NTPSynchronized=yes
UTC: 2026-10-07 22:50:11 UTC
Local: 2026-10-08 04:20:11 IST +0530
The local and UTC lines should represent one moment with different offsets. If the timezone and synchronization fields are correct, the operating system is ready for services that use system local time.
Troubleshooting
Failed to set time zone: Invalid or unknown time zone
The value is not an exact zoneinfo identifier installed on the server. Run timedatectl list-timezones, copy the full Region/City spelling, and retry; do not use spaces, a three-letter abbreviation, or a Windows timezone label.
Authentication is required or Access denied
Changing the global timezone requires administrator privileges. Confirm that sudo -v succeeds, add sudo to the set-timezone command, or reconnect as root. Editing /etc/localtime permissions is not a fix.
chronyc tracking cannot connect to daemon
Chrony may not be installed or chronyd may be stopped. Check the unit and its recent log entries first:
systemctl status chronyd --no-pager
journalctl -u chronyd -n 30 --no-pager
If the package is missing, install and start the AlmaLinux 8 service:
sudo dnf install -y chrony
sudo systemctl enable --now chronyd
chronyc tracking
The VPS must be able to make outbound UDP connections on port 123 to reach NTP sources. Do not start a second time-sync daemon alongside Chrony.
The shell changed, but a service still logs UTC
Some applications deliberately use UTC, and others read the system zone only when they start. Check timedatectl and date first, then inspect the application’s own timezone setting and restart only that service if its documentation says it caches the zone.
Hardening and operational notes
- Keep production logs in UTC when the server supports users or services in multiple regions; this avoids ambiguous timestamps during daylight-saving changes.
- Review cron entries after switching to a local zone because a job scheduled by local time can move relative to UTC.
- Keep
chronydenabled and avoid manually changing the clock withdateon a production VPS. - Record the selected IANA identifier in your provisioning notes so a rebuild uses the same convention.
FAQ
What is the correct timezone for India on AlmaLinux 8?
Use Asia/Kolkata. It is the IANA identifier for India Standard Time and normally displays a +0530 offset without seasonal daylight-saving changes.
Can I change the timezone without rebooting AlmaLinux 8?
Yes. timedatectl set-timezone applies the system setting immediately and keeps it across reboots. Restart an individual application only when that application cached the old timezone during startup.
Does changing the timezone change the server’s actual clock?
No. Chrony keeps the system clock aligned with network time, while the timezone changes the way that instant is rendered as local time. Confirm both pieces separately with chronyc tracking and timedatectl status.
Should I use UTC on a VPS?
UTC is a good default for servers that host distributed applications because logs and scheduled tasks share one reference. Choose a regional zone when a business process depends on local civil time, and configure the application and scheduler consistently.