My region is changing its civil-time rules in November and will remain on daylight time year-round instead of switching between standard and daylight time. The system is running a version of CentOS that is past end of life. Is there a safe way to configure a permanent UTC offset manually, or otherwise update the timezone data so applications use the new rules?
4 Answers
The usual solution is to install newer timezone database files rather than hard-coding an offset. You can backport a newer tzdata package, rebuild it for the old system, or extract the relevant zoneinfo files from a supported distribution. Make sure to account for applications such as Java/OpenJDK that may ship or use their own timezone database.
If you only need one machine and the rule is truly permanent, you could create a custom zoneinfo entry with the desired fixed offset and point the system at it. However, this can become difficult to maintain and may not affect software that uses its own timezone data. Updating the system and application timezone databases is generally more reliable.
Using UTC itself will not solve a local-civil-time change unless every application and user is meant to operate in UTC. UTC has no daylight-saving transitions; the issue here is the regional timezone rules and the copies of that data used by the operating system, runtimes, databases, and other software.
The longer-term fix is to migrate away from the end-of-life operating system. An unsupported OS is a security risk, and newer packages may not install cleanly or may conflict with the old system. If an upgrade is not immediately possible, build and install a separately versioned tzdata package so it takes precedence without overwriting unrelated files.

A fixed offset also removes the ability to represent historical or future rule changes correctly, so it is better to preserve the region's timezone name when possible and update its data instead.