Change Time Zone in Debian 10 / Debian 9

Photo of author

By rasho

Using the correct timezone is important for many systems related tasks and processes. For example, the cron daemon uses the system’s timezone for executing cron jobs and the timestamps in the log files are based on the same system’s timezone.
The system’s timezone is set during the installation, but it can be easily changed at a later time. In this post, we will see how to change the timezone in Debian 10 / Debian 9.

Prerequisites

The user you are logged in as must have sudo privileges to be able to change the system’s timezone.

Checking the Current Timezone

In Debian and other modern Linux distributions, the timedatectl command allows you to display and set the current system’s time and timezone.

$ timedatectl

Example output:

$ timedatectl
                      Local time: Tue 2020-01-28 20:18:35 CET
                  Universal time: Tue 2020-01-28 19:18:35 UTC
                        RTC time: Tue 2020-01-28 19:18:34
                       Time zone: Europe/Belgrade (CET, +0100)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

As shown on the output above, the system’s timezone is set to “Europe/Belgrade”.
[ads]

Changing Timezone in Debian

Before changing the timezone, you’ll need to find out the long name for the timezone you want to use. The timezone naming convention usually uses a “Region/City” format.
To list all available time zones, you can either list the files in the /usr/share/zoneinfo directory or use the timedatectl command.

$ timedatectl list-timezones

Exmple output:

$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
...........
Europe/Sarajevo
Europe/Saratov
Europe/Simferopol
...........

Once you identify which timezone is accurate to your location, run the following command as sudo user:

$ sudo timedatectl set-timezone Europe/Sarajevo

Verify the change by issuing the timedatectl command:

$ timedatectl
                      Local time: Tue 2020-01-28 20:33:57 CET
                  Universal time: Tue 2020-01-28 19:33:57 UTC
                        RTC time: Tue 2020-01-28 19:33:57
                       Time zone: Europe/Sarajevo (CET, +0100)
       System clock synchronized: yes
systemd-timesyncd.service active: yes
                 RTC in local TZ: no

Changing the Timezone by Creating a Symlink

If you are running an older version of Debian and the timedatectl command is not present on your system you can change the timezone by symlinking /etc/localtime to the timezone in the /usr/share/zoneinfo directory.
Before using the new configuration, rename or unlink old configuration file as:

$ sudo mv /etc/localtime /etc/localtime.old

Then create a symbolic link of /etc/localtime with new timezone settings file.

$ sudo ln -s /usr/share/zoneinfo/Europe/Sarajevo /etc/localtime

Your time zone has been changed successfully. Let’s check the timezone again.

$ date

Example output:

$ date
Tue Jan 28 20:42:19 CET 2020

Conclusion

That’s All. I hope you were able to set the correct time zone in your Debian 10 / Debian 9 system. Please share your feedback in the comments section.

Leave a Comment