通常/etc/timezone
是一个包含时区的文本文件,至少它是这样工作的大多数非嵌入式 Linux 发行版。然而,在 Amazon Linux( 4.14.72-68.55.amzn1.x86_64
) 上,它实际上是一个空目录。
$ ls -la /etc/{timezone,localtime}
-rw-r--r-- 1 root root 118 Aug 11 01:27 /etc/localtime
/etc/timezone:
total 8
drwxr-xr-x 2 root root 4096 Oct 22 09:53 .
drwxr-xr-x 93 root root 4096 Oct 22 09:53 ..
$ ll /usr/share/zoneinfo/
total 416
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Africa
drwxr-xr-x 6 root root 4096 Aug 11 01:26 America
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Antarctica
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Arctic
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Asia
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Atlantic
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Australia
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Brazil
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Canada
-rw-r--r-- 1 root root 2102 Apr 4 2018 CET
drwxr-xr-x 2 root root 4096 Aug 11 01:26 Chile
-rw-r--r-- 1 root root 2294 Apr 4 2018 CST6CDT
-rw-r--r-- 2 root root 2411 Apr 4 2018 Cuba
-rw-r--r-- 1 root root 1876 Apr 4 2018 EET
[...]
对于依赖阅读的脚本来说,等效的是什么/etc/timezone
?删除目录并创建文件是否安全<Region>/<City>
?
答案1
我会先检查这里。这是非常好的文档。 Amazon Linux 在底部附近有一组说明。
正如您所指出的,您可以检查[ec2-user ~]$ ls /usr/share/zoneinfo
可接受的时区列表。
您可能会遇到它抱怨该命令的问题,因为您没有以特权用户身份运行。
尝试这样的事情:
[ec2-user ~]$ sudo timedatectl set-timezone America/Vancouver