When you initially install Linux, you specify the machine's timezone. After the install, you can manually change the timezone. The following procedure applies to Debian and Ubuntu systems.
Before you change the timezone, let's find out what timezone your system is currently in.
$ date Tue Dec 2 13:53:11 PST 2014
The above date command tells you that the system is on PST, aka Pacific Standard Time.
You can change the timezone interactively or through batch processing.
The following command guides you through 2 screens to configure the timezone.
$ sudo dpkg-reconfigure tzdata
The advantage of specifying the timezone interactively is that you don't have to know the exact name of the timezone. The program will guide you to select your target timezone. But, if you want to automate the process through a shell script, please follow the batch method as explained below.
- Identify the name of the target timezone.
Timezone data files are stored in the /usr/share/zoneinfo directory tree. Each continent has a corresponding subdirectory, e.g., /usr/share/zoneinfo/America. Each continent subdirectory contains timezone files named by cities in the continent, e.g., /usr/share/zoneinfo/America/Vancouver.$ ls /usr/share/zoneinfo/America
Note the city where your system is located (or the nearest city in the same timezone). The timezone identifier is the concatenated continent and city names, e.g., America/Vancouver.
- Specify the timezone in /etc/timezone.
$ sudo -s sh -c 'echo America/Vancouver > /etc/timezone'
- Run configure program.
$ sudo dpkg-reconfigure -f noninteractive tzdata