{"id":935,"date":"2026-10-27T03:00:00","date_gmt":"2026-10-27T03:00:00","guid":{"rendered":"https:\/\/vpslake.com\/blog\/?p=935"},"modified":"2026-10-27T03:00:00","modified_gmt":"2026-10-27T03:00:00","slug":"change-timezone-almalinux-10","status":"publish","type":"post","link":"https:\/\/vpslake.com\/blog\/2026\/10\/27\/change-timezone-almalinux-10\/","title":{"rendered":"How to Change Timezone on AlmaLinux 10 (Step-by-Step)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Change timezone on AlmaLinux 10 with <code>timedatectl<\/code>, 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.<\/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 10 installed on the VPS.<\/li>\n\n\n<li>An SSH connection as <code>root<\/code>, or a regular user with working <code>sudo<\/code> privileges.<\/li>\n\n\n<li>The IANA timezone name you want, such as <code>America\/Chicago<\/code>, <code>Europe\/London<\/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> provides the AlmaLinux server and administrator access needed here.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Inspect the current clock<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Check the current zone and synchronization state before changing anything so you have a reliable before-and-after comparison.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl status\ndate '+%F %T %Z %z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">You should see output similar to this, although the date and offset will depend on the server:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>               Local time: Wed 2026-10-07 18:20:14 UTC\n           Universal time: Wed 2026-10-07 18:20:14 UTC\n                 Time zone: Etc\/UTC (UTC, +0000)\nSystem clock synchronized: yes\n              NTP service: active\n2026-10-07 18:20:14 UTC +0000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>timedatectl<\/code> reports the system-wide timezone, while <code>date<\/code> gives a compact view of the local clock. The timezone controls how the instant is displayed; it does not replace network time synchronization.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Choose a valid IANA timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AlmaLinux expects a timezone database identifier, not a label such as \u201cCentral Time\u201d or \u201cIndia time,\u201d so select an exact value from the installed list.<\/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>Page Down<\/code> and <code>Page Up<\/code> to browse, then press <code>q<\/code> to exit. You can filter the list when you already know the likely region:<\/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\">Example entries 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\/London<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Prefer a city-based entry because it includes the applicable daylight-saving rules. Choose <code>UTC<\/code> when logs, scheduled tasks, and services should use one unchanging reference zone.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Set the AlmaLinux 10 timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run <code>timedatectl set-timezone<\/code> with the exact IANA name; systemd changes the active setting and the persistent local-time configuration together.<\/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 a real entry from Step 2, such as <code>America\/Chicago<\/code> or <code>Asia\/Kolkata<\/code>. A successful command normally prints nothing. Read the value back 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\">For <code>Asia\/Kolkata<\/code>, the result will resemble:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Asia\/Kolkata\n2026-10-08 00:05:14 IST +0530<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This changes the displayed local time without manually setting the clock or turning off NTP. For the command\u2019s supported options, see the official <a href=\"https:\/\/www.freedesktop.org\/software\/systemd\/man\/latest\/timedatectl.html\" target=\"_blank\" rel=\"noopener\"><code>timedatectl<\/code> documentation<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Check chrony and the saved timezone link<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">AlmaLinux uses <code>chronyd<\/code> for network time synchronization, while <code>\/etc\/localtime<\/code> points to the timezone data used by system libraries. Check both so a correct display is not mistaken for a synchronized clock.<\/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\">Healthy output should contain values like these:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>active\nReference ID    : 192.0.2.1 (ntp.example)\nStratum         : 3\nSystem time     : 0.000012345 seconds fast of NTP time\nLeap status     : Normal\n\/usr\/share\/zoneinfo\/Asia\/Kolkata<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The reference server and offset will be different on your VPS. The important checks are <code>active<\/code>, a normal leap status, and a <code>\/usr\/share\/zoneinfo\/<\/code> path ending in the zone you selected. AlmaLinux\u2019s <a href=\"https:\/\/wiki.almalinux.org\/series\/system\/SystemSeriesA10.html\" target=\"_blank\" rel=\"noopener\">chrony documentation<\/a> covers the service when you need to inspect synchronization further.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify the new timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run a final check that compares local time with UTC and confirms the zone stored by systemd.<\/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\">The key lines should look like this after selecting India Standard Time:<\/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 18:35:14 UTC\nLocal: 2026-10-08 00:05:14 IST +0530<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<aside class=\"vl-element vl-cta-banner\" aria-label=\"Keep server time consistent\">\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\">Keep server time consistent<\/h3>\n\t\t<p class=\"vl-cta-banner__text\">Deploy an AlmaLinux VPS with root access for predictable logs, cron jobs, and application timestamps.<\/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 supplied value is not an exact entry in AlmaLinux\u2019s timezone database. Run <code>timedatectl list-timezones<\/code>, copy a complete name such as <code>America\/Denver<\/code>, and repeat the command. Do not use spaces, abbreviations, or a Windows timezone label.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>Access denied<\/code> or <code>Authentication is required<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Changing the system-wide zone requires administrator privileges. Add <code>sudo<\/code>, confirm that <code>sudo -v<\/code> succeeds, or reconnect as <code>root<\/code>; do not edit permissions on <code>\/etc\/localtime<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>chronyc tracking<\/code> cannot connect<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The <code>chronyd<\/code> service may be stopped, missing, or unable to reach its configured time sources. Check its state and recent messages 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 absent, install it and enable the 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\">Allow outbound UDP port 123 in any upstream firewall or security group. Do not run multiple time-sync daemons at the same time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The timezone changed, but an application still shows UTC<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Some services intentionally use UTC or read the timezone only when they start. Confirm the operating system with <code>timedatectl<\/code> and <code>date<\/code>, then inspect that application&#8217;s own timezone setting and restart only the affected service if its documentation requires it.<\/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 systems on <code>UTC<\/code> when services span multiple regions; it avoids ambiguous log and cron timestamps around daylight-saving changes.<\/li>\n\n\n<li>Review local-time cron jobs after changing zones because their UTC execution time may move seasonally.<\/li>\n\n\n<li>Keep chrony enabled and avoid changing the clock manually with <code>date<\/code> on a production VPS.<\/li>\n\n\n<li>Record the selected IANA name in your provisioning notes so a rebuild uses the same setting.<\/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 timezone should I use for India on AlmaLinux 10?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>Asia\/Kolkata<\/code>. It is the current IANA identifier for India Standard Time and uses a <code>+0530<\/code> offset without seasonal daylight-saving changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does changing the timezone require a reboot?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. <code>timedatectl set-timezone<\/code> applies the system setting immediately and persists it through reboots. Restart an individual application only if it cached the previous zone at startup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Will this change alter NTP synchronization?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. Chrony synchronizes the system clock to a time source, while the timezone controls how that instant is displayed. Check <code>chronyc tracking<\/code> and <code>timedatectl status<\/code> after the change to confirm both remain healthy.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Should a VPS use UTC or local time?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">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.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"What timezone should I use for India on AlmaLinux 10?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Use `Asia\/Kolkata`. It is the current IANA identifier for India Standard Time and uses a `+0530` offset without seasonal daylight-saving changes.\"}}, {\"@type\": \"Question\", \"name\": \"Does changing the timezone require a reboot?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"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.\"}}, {\"@type\": \"Question\", \"name\": \"Will this change alter NTP synchronization?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"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.\"}}, {\"@type\": \"Question\", \"name\": \"Should a VPS use UTC or local time?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"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.\"}}]}<\/script>\n\n","protected":false},"excerpt":{"rendered":"Change timezone on AlmaLinux 10 with timedatectl, select the right IANA zone, keep chrony synchronized, and verify the result without rebooting.","protected":false},"author":1,"featured_media":936,"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":[91,109,108,107],"class_list":["post-935","post","type-post","status-publish","format-standard","has-post-thumbnail","category-guides","category-vps-hosting","tag-almalinux-10","tag-chrony","tag-timedatectl","tag-timezone","cs-entry"],"_links":{"self":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/935","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=935"}],"version-history":[{"count":1,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/935\/revisions"}],"predecessor-version":[{"id":3751,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/935\/revisions\/3751"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media\/936"}],"wp:attachment":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media?parent=935"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/categories?post=935"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/tags?post=935"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}