Most modern Linux distributions have user-friendly programs to set the timezone, often accesible through the program menus or right-clicking the clock in a desktop environment such as KDE or GNOME. Failing that it's possible to manually change the system timezone in Linux in a few short steps.
- Logged in as root, check which timezone your machine is currently using by executing `date`. You'll see something like "Mon 17 Jan 2005 12:15:08 PM PST -0.461203 seconds", PST in this case is the current timezone.
- Change to the directory to /usr/share/zoneinfo, here you will find a list of time zone regions. Choose the most appropriate region, if you live in Canada or the US this directory is the "Americas" directory.
- If you wish, backup the previous timezone configuration by copying it to a different location. Such as `mv /etc/localtime /etc/localtime-old`.
- Create a symbolic link fr om the appropiate timezone to /etc/localtime. Example: `ln -s /usr/share/zoneinfo/Europe/Amsterdam /etc/localtime`.
- If you have the utility rdate, update the current system time by executing `/usr/bin/rdate -s time.nist.gov`.
- Set the ZONE entry in the file /etc/sysconfig/clock file (e.g. "Europe/Amsterdam")
- Set the hardware clock by executing: ` /sbin/hwclock –systohc`
Tips
- On some versions of RedHat Linux, Slackware, Gentoo, SuSE, Debian, Ubuntu, and anything else that is "normal", the command to display and change the time is 'date', not 'clock'
- On RedHat Linux there is a utility called "Setup" that allows one to select the timezone from a list, but you must have installed the 'redhat-config-date' package.
Warnings
- Some applications (such as PHP) have separate timezone settings from the system timezone.
- On some systems, there is a system utility provided that will prompt for the correct timezone and make the proper changes to the system configuration. For example, Debian provides the "tzsetup" utility.
Shit that happens
- Once I had a "wrong" timezone file. Using the /usr/share/zoneinfo/Europe/Amsterdam file the server refused to move to another timezone and wanted to stay in the Chicago timezone. After copying a Amsterdam timezone file from a working server the problem stopped.
Leave a Reply