When I change my system clock this changes the file /usr/share/zoneinfo immediately, HOWEVER, the actual system time doesn't change until the next reboot because /etc/localtime then re-reads /usr/share/zoneinfo?

I have seen behaviour similar to the above, whereby /usr/share/zoneinfo/ was accessed but the system time did not change until after the system had rebooted

1 Answer
1

Every process knows the time zone (you can alter it on a per-process basis by setting the TZ environment variable). When you change the system time zone, only newly launched processes will "see" the new time zone setting. This is why it seems to only fully take effect with a reboot. If you restart applications and services they should pick up the change

Notably, your system logging daemon will continue to write logs in the old timezone until it is restarted.