{"id":937,"date":"2026-10-27T09:00:00","date_gmt":"2026-10-27T09:00:00","guid":{"rendered":"https:\/\/vpslake.com\/blog\/?p=937"},"modified":"2026-10-27T09:00:00","modified_gmt":"2026-10-27T09:00:00","slug":"change-timezone-almalinux-8","status":"publish","type":"post","link":"https:\/\/vpslake.com\/blog\/2026\/10\/27\/change-timezone-almalinux-8\/","title":{"rendered":"How to Change Timezone on AlmaLinux 8 (Step-by-Step)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Change timezone on AlmaLinux 8 with <code>timedatectl<\/code> 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.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>AlmaLinux 8 installed and reachable over SSH.<\/li>\n\n\n<li>A <code>root<\/code> session or a regular account that can run commands with <code>sudo<\/code>.<\/li>\n\n\n<li>The target timezone, preferably a city-based IANA name such as <code>America\/Los_Angeles<\/code>, <code>Europe\/Berlin<\/code>, or <code>Asia\/Kolkata<\/code>.<\/li>\n\n\n<li>No special RAM, disk, or domain requirement; a <a href=\"https:\/\/vpslake.com\/buy-vps\">VPSLake Linux VPS<\/a> gives you the server access required for this change.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Record the current timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Start with a before-and-after reference so you can distinguish a timezone change from a clock-synchronization problem.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl status\ndate '+Local: %F %T %Z %z'\ndate -u '+UTC: %F %T %Z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">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:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>               Local time: Thu 2026-10-08 04:20:11 UTC\n           Universal time: Thu 2026-10-08 04:20:11 UTC\n                 Time zone: Etc\/UTC (UTC, +0000)\nSystem clock synchronized: yes\n              NTP service: active\nLocal: 2026-10-08 04:20:11 UTC +0000\nUTC: 2026-10-08 04:20:11 UTC<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The timezone changes how software formats the current instant. It does not set the server clock, so leave time synchronization enabled.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Find the exact IANA zone name<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><code>timedatectl<\/code> accepts database identifiers, not informal names such as \u201cPacific Time.\u201d Listing the installed choices prevents a spelling mistake and shows which daylight-saving rules are available on this AlmaLinux 8 system.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl list-timezones | grep -E '^(America|Asia|Australia|Europe)\/'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For the complete list, use a pager:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl list-timezones | less<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Press <code>q<\/code> to leave <code>less<\/code>. Typical matches include:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>America\/Chicago\nAmerica\/Los_Angeles\nAmerica\/New_York\nAsia\/Kolkata\nAsia\/Singapore\nEurope\/Berlin<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Use a city entry rather than a fixed abbreviation such as <code>PST<\/code>; the city entry carries the region\u2019s seasonal offset rules. Select <code>UTC<\/code> if you want logs and scheduled operations to use one stable reference time everywhere.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Apply the new timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Set the system-wide zone through systemd so <code>\/etc\/localtime<\/code> and the running system agree instead of editing timezone files by hand.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo timedatectl set-timezone YOUR_REGION\/YOUR_CITY<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace <code>YOUR_REGION\/YOUR_CITY<\/code> with the complete value from Step 2, for example <code>America\/Los_Angeles<\/code> or <code>Asia\/Kolkata<\/code>. A successful command normally returns no text. Read back the setting immediately:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl show --property=Timezone --value\ndate '+%F %T %Z %z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you selected <code>America\/Los_Angeles<\/code>, the result will resemble:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>America\/Los_Angeles\n2026-10-07 21:20:11 PDT -0700<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The abbreviation and offset depend on the date. The <a href=\"https:\/\/www.freedesktop.org\/software\/systemd\/man\/latest\/timedatectl.html\" target=\"_blank\" rel=\"noopener\">official <code>timedatectl<\/code> reference<\/a> documents the command options available through systemd.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Check chrony and the timezone link<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl is-active chronyd\nchronyc tracking\nreadlink -f \/etc\/localtime<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A healthy server should show <code>active<\/code>, a normal chrony tracking report, and a final path matching your choice:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>active\nReference ID    : 192.0.2.10 (ntp.example)\nStratum         : 3\nSystem time     : 0.000012345 seconds fast of NTP time\nLeap status     : Normal\n\/usr\/share\/zoneinfo\/America\/Los_Angeles<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The reference address and offset are examples, not values to copy. The important results are an active <code>chronyd<\/code>, a <code>Normal<\/code> leap status, and a <code>\/usr\/share\/zoneinfo\/<\/code> path ending in the selected zone. If you need to tune synchronization, consult the <a href=\"https:\/\/chrony-project.org\/documentation.html\" target=\"_blank\" rel=\"noopener\">Chrony documentation<\/a> rather than manually changing the clock.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify the new timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Use one final comparison to prove that AlmaLinux 8 is displaying the same instant in both UTC and the selected local zone.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl status\ntimedatectl show --property=Timezone --property=NTP --property=NTPSynchronized\ndate -u '+UTC: %F %T %Z'\ndate '+Local: %F %T %Z %z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For <code>Asia\/Kolkata<\/code>, the relevant lines should look similar to this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>                 Time zone: Asia\/Kolkata (IST, +0530)\nSystem clock synchronized: yes\n              NTP service: active\nTimezone=Asia\/Kolkata\nNTP=yes\nNTPSynchronized=yes\nUTC: 2026-10-07 22:50:11 UTC\nLocal: 2026-10-08 04:20:11 IST +0530<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<aside class=\"vl-element vl-cta-banner\" aria-label=\"Get a ready Linux VPS\">\n\t<div class=\"vl-cta-banner__content\">\n\t\t<p class=\"vl-cta-banner__eyebrow\">AlmaLinux VPS<\/p>\n\t\t<h3 class=\"vl-cta-banner__title\">Get a ready Linux VPS<\/h3>\n\t\t<p class=\"vl-cta-banner__text\">Run AlmaLinux workloads with root access and a predictable system clock.<\/p>\n\t<\/div>\n\t<a class=\"vl-cta-banner__button\" href=\"\/buy-vps\" aria-label=\"View Linux VPS plans\">View Linux VPS plans<\/a>\n<\/aside>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><code>Failed to set time zone: Invalid or unknown time zone<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The value is not an exact zoneinfo identifier installed on the server. Run <code>timedatectl list-timezones<\/code>, copy the full <code>Region\/City<\/code> spelling, and retry; do not use spaces, a three-letter abbreviation, or a Windows timezone label.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>Authentication is required<\/code> or <code>Access denied<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Changing the global timezone requires administrator privileges. Confirm that <code>sudo -v<\/code> succeeds, add <code>sudo<\/code> to the <code>set-timezone<\/code> command, or reconnect as <code>root<\/code>. Editing <code>\/etc\/localtime<\/code> permissions is not a fix.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>chronyc tracking<\/code> cannot connect to daemon<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Chrony may not be installed or <code>chronyd<\/code> may be stopped. Check the unit and its recent log entries first:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl status chronyd --no-pager\njournalctl -u chronyd -n 30 --no-pager<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the package is missing, install and start the AlmaLinux 8 service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo dnf install -y chrony\nsudo systemctl enable --now chronyd\nchronyc tracking<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The shell changed, but a service still logs UTC<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Some applications deliberately use UTC, and others read the system zone only when they start. Check <code>timedatectl<\/code> and <code>date<\/code> first, then inspect the application\u2019s own timezone setting and restart only that service if its documentation says it caches the zone.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hardening and operational notes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Keep production logs in UTC when the server supports users or services in multiple regions; this avoids ambiguous timestamps during daylight-saving changes.<\/li>\n\n\n<li>Review cron entries after switching to a local zone because a job scheduled by local time can move relative to UTC.<\/li>\n\n\n<li>Keep <code>chronyd<\/code> enabled and avoid manually changing the clock with <code>date<\/code> on a production VPS.<\/li>\n\n\n<li>Record the selected IANA identifier in your provisioning notes so a rebuild uses the same convention.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is the correct timezone for India on AlmaLinux 8?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>Asia\/Kolkata<\/code>. It is the IANA identifier for India Standard Time and normally displays a <code>+0530<\/code> offset without seasonal daylight-saving changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I change the timezone without rebooting AlmaLinux 8?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Yes. <code>timedatectl set-timezone<\/code> applies the system setting immediately and keeps it across reboots. Restart an individual application only when that application cached the old timezone during startup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does changing the timezone change the server\u2019s actual clock?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">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 <code>chronyc tracking<\/code> and <code>timedatectl status<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Should I use UTC on a VPS?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"What is the correct timezone for India on AlmaLinux 8?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Use `Asia\/Kolkata`. It is the IANA identifier for India Standard Time and normally displays a `+0530` offset without seasonal daylight-saving changes.\"}}, {\"@type\": \"Question\", \"name\": \"Can I change the timezone without rebooting AlmaLinux 8?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"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.\"}}, {\"@type\": \"Question\", \"name\": \"Does changing the timezone change the server\u2019s actual clock?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"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`.\"}}, {\"@type\": \"Question\", \"name\": \"Should I use UTC on a VPS?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"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.\"}}]}<\/script>\n\n","protected":false},"excerpt":{"rendered":"Change timezone on AlmaLinux 8 with timedatectl, choose a valid IANA zone, keep chrony synchronized, and verify the result without rebooting on your VPS.","protected":false},"author":1,"featured_media":938,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","footnotes":""},"categories":[5,9],"tags":[94,109,108,107],"class_list":["post-937","post","type-post","status-publish","format-standard","has-post-thumbnail","category-guides","category-vps-hosting","tag-almalinux-8","tag-chrony","tag-timedatectl","tag-timezone","cs-entry"],"_links":{"self":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/comments?post=937"}],"version-history":[{"count":1,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/937\/revisions"}],"predecessor-version":[{"id":3755,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/937\/revisions\/3755"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media\/938"}],"wp:attachment":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media?parent=937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/categories?post=937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/tags?post=937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}