In order to configure the Time Zone on red hat Linux machine ( version 5 and 6 ) need to configure the file:


And create a symbolic link between

/etc/localtime to /usr/share/zoneinfo/America/New_York

but /etc/sysconfig/clock also required to set the ZONE variable as the following example:


So what is the need to set the variable ZONE=America/New_York when it is very clear from the link /etc/localtime that is pointed to /usr/share/zoneinfo/**America/New_York** ?

So what is the need to set the ZONE parameter with "America/New_York" value ?

  • I'm voting to move this question to Unix & Linux since it's more about how a particular Linux version works than about professional systems administration. In other words, the close vote currently on your question is not about actually closing but about moving. – Jenny D Jul 24 '16 at 18:30

So the "correct" way to set the clock (at least prior to RHEL 7) is to edit /etc/sysconfig/clock and then run tzdata-update which will then update /etc/localtime; you've just done that step manually.

  • this not working on my linux machine redhat 5 , for example I configure the clock file as ZONE=Japan , and run the tzdata-update but time was not change to Japan TIME ZONE , or I missed something ? – dandan Jul 24 '16 at 18:22
  • I think it should be Asia/Tokyo. – bodgit Jul 24 '16 at 19:02
  • blog.nexcess.net/2014/01/15/… also explains why it was set up the way it is. By not updating /etc/sysconfig/clock the next time the tzdata package is updated your timezone may revert back to whatever it was before you manually changed /etc/localtime. – bodgit Jul 24 '16 at 19:09
  • I set the variable to ZONE="Asia/Tokyo" , but still after tzdata-update I not get the Japan TZ ( from date ) – dandan Jul 24 '16 at 19:11
  • Odd. I just tried both Japan and Asia/Tokyo as values on my RHEL 5 machine and it worked correctly for me in both cases. Do you have a complete tzdata package installed, i.e. everything under /usr/share/zoneinfo? – bodgit Jul 24 '16 at 19:14

With the introduction of RHEL 7 the timezone is managed through systemd, which provides a custom utility to change the timezone: timedatectl

To list all available time zones:

timedatectl list-timezones

To actually change the time zone, (as root or using sudo):

timedatectl set-timezone time_zone

timedatectl set-timezone will not only make the modified time zone take effect immediately, but will also update the /etc/localtime symlink to make that change persistent across reboots.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.