![时区:TZ、tzselect 和 timedatectl](https://linux22.com/image/1159661/%E6%97%B6%E5%8C%BA%EF%BC%9ATZ%E3%80%81tzselect%20%E5%92%8C%20timedatectl.png)
我有一个软件包(有人告诉我)必须读取 TZ 环境变量,如果未设置该变量,则可能导致日期/时间不正确。不确定它是否在进行自己的偏移计算。它曾经在 IBM AIX 平台上工作,现在它将在Ubuntu Linux 18.04 LTS。
据我所知,Ubuntu 没有将 TZ 变量预设为任何值。它反而会使用在 或/etc/localtime
(/etc/timezone
不确定是哪个,还是两个?) 中找到的时区。
我的问题是...如果这个包确实需要 TZ 不为空或空白,那么设置该值的最佳方法是什么?
一个人建议我们将 TZ 放入 中/etc/profile
,这样每次登录都会设置它。另一个人建议我们应该从其他文件中读取它,例如只在.profile
访问该软件的用户的 中读取它。我的建议是将 放入export TZ=???
软件存在的环境文件中,该文件每次启动软件时都会执行。
有人看到选择哪个选项时存在问题吗?我能想到的一种情况是,如果我们将其放在中/etc/profile
,这就像永久覆盖每个登录帐户的默认时区设置。这可能不是什么大问题,因为我认为该系统将专门用于需要设置 TZ 变量的软件包。只是想看看是否还有其他注意事项需要考虑。比如它可能如何影响 Java 连接,诸如此类的事情。