为什么`date`会忽略TZ环境变量?

Rus*_*lan 2 date timezone raspbian date-utility

在 Ubuntu 18.04 上,我有以下行为date

$ date --version | head -n1
date (GNU coreutils) 8.28
$ date
?? ???  8 13:18:18 MSK 2019
$ TZ=UTC date
?? ???  8 10:18:23 UTC 2019
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好。但现在我试图在 Raspbian 9 上做同样的事情:

$ date --version | head -n1
date (GNU coreutils) 8.26
$ date
Tue Oct  8 13:18:50 MSK 2019
$ TZ=UTC date
Tue Oct  8 13:18:51 MSK 2019
Run Code Online (Sandbox Code Playgroud)

Raspbian 版本date忽略TZ环境变量的原因是什么?

tel*_*coM 5

我能想到两个可能的原因:

1.) 该文件/usr/share/zoneinfo/UTC在您的 Raspbian 9 上不存在或已损坏,因此glibc无法实现 TZ 变量设置并回退到系统默认时区,

2.) 您可能有一个先前配置的 TZ 变量被标记为只读,因此您尝试更改它不会生效。