How do I permanently reset the time zone in Debian?

A tool I found to be easier to use is dpkg-reconfigure. Use:

sudo dpkg-reconfigure tzdata

You will be given a multitude of choices, including some that are not included in tzselect.


This is presumably a bit late for the OP, and more intended for other searchers who arrive here.

If you need a non-interactive solution, try this solution from changing timezone with dpkg-reconfigure tzdata and debconf-set-selections

echo "Europe/Zurich" > /etc/timezone 
dpkg-reconfigure -f noninteractive tzdata

You can figure out your timezone by poking around in /usr/share/zoneinfo. In fact the dpkg-reconfigure command above copies the appropriate file from there to /etc/localtime. I used to just do that manually, and it seems to work fine.

Don't be too surprised if long running processes don't pick up the change. eg Apache log timestamps come to mind. Consider whether that matters, and hence whether you need to restart running processes or even reboot.


To edit it non interactively on recent Debian and Ubuntu versions (Stretch/Xenial etc.), you need to remove /etc/localtime as well, otherwise /etc/timezone will be overwritten.

echo 'Europe/Zurich' > /etc/timezone 
rm /etc/localtime
dpkg-reconfigure -f noninteractive tzdata

This answer is based on mc0e' answer. I can not add a comment with my reputation.