8

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

/etc/sysconfig/clock

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:

ZONE="America/New_York"

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 ?

dandan
  • 1,021
  • 4
  • 13
  • 21
  • I'm voting to move this question to [unix.se] 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

2 Answers2

8

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.

HBruijn
  • 72,524
  • 21
  • 127
  • 192
6

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.

bodgit
  • 4,661
  • 13
  • 26
  • 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
  • https://blog.nexcess.net/2014/01/15/changing-the-timezone-in-centos-from-the-cli/ 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
  • yes , I try to installed by yum the tzdata but on my machine the latest version installed , meenwhile /etc/localtime not created when I run the tzdata-update and under zoneingo I have all countries – dandan Jul 24 '16 at 19:18
  • yes now I success but tzdata-update not create the link to /etc/localtime - why? – dandan Jul 25 '16 at 14:03