根据localtime 从Linux手册页面的说法:
它应该是指向/usr/share/zoneinfo/的绝对或相对符号链接,后面是时区标识符,如“Europe/柏林”或"Etc/UTC“。
下面是ls -la /etc/localtime的输出,它不是一个符号链接,在我的环境中:
-rw-r--r--. 1 root root 724 Apr 3 2012 /etc/localtime对于cat /etc/localtime
TZif2їԒazpҹӂԣ<¿ֆfpם܈̰ݠYݪߵdpᖗ⸋p㮠p䠱咥p悤鴘
따
셀촿퉰 ݉
νS~pCDTCSTTZif2)
ÿÿÿÿtϰÿÿÿÿїԿÿÿÿѡzpÿÿÿÿҹÿÿÿÿӂÿԚ:ÿÿÿÿԣ౿ÿÿÿռ¿ÿÿÿÿֆfpÿÿÿÿםÿÿڧÿۿ&ÿÿÿÿ܈̰ÿÿÿÿݠYÿÿÿÿݪÿݲsÿÿÿÿߵdpÿÿÿÿÿÿÿÿᖗÿÿÿÿÿ⸋pÿÿÿÿÿÿÿÿ㮠pÿÿÿÿ䠱ÿÿÿÿ咥pÿÿÿÿ悤ÿÿÿÿ鴘ÿꤘÿÿÿÿ
따ÿÿÿÿ
셀ÿÿÿÿ촿ÿÿÿÿÿÿÿÿÿÿ퉰 ݉
νSq羐LMTCDTCST
CST-8我的环境是Fedora 17,运行在VirtualBox上。
我从别人那里复制了整张Fedora 17的照片。换句话说,我不是从零开始构建环境的。
我担心这是一个真正的错误,或者是出于某种原因。
发布于 2021-08-01 14:16:13
所发生的事情很可能是区域文件的副本,而不是符号链接或硬链接。
您可以通过比较系统上安装的区域文件的散列来确定源。
$ sha256sum /etc/localtime
821d6d97e3d34a3de2315279260e139adf484e581b4d187f8e6b532403b0f1c6 /etc/localtime
$ find /usr/share/zoneinfo/ -type f -exec sha256sum "{}" + |grep 821d6d97e3d34a3de2315279260e139adf484e581b4d187f8e6b532403b0f1c6
821d6d97e3d34a3de2315279260e139adf484e581b4d187f8e6b532403b0f1c6 /usr/share/zoneinfo/posix/America/Kentucky/Louisville
821d6d97e3d34a3de2315279260e139adf484e581b4d187f8e6b532403b0f1c6 /usr/share/zoneinfo/posix/America/Louisville
821d6d97e3d34a3de2315279260e139adf484e581b4d187f8e6b532403b0f1c6 /usr/share/zoneinfo/America/Kentucky/Louisville
821d6d97e3d34a3de2315279260e139adf484e581b4d187f8e6b532403b0f1c6 /usr/share/zoneinfo/America/Louisville第二个字段中ls输出中的"1“表示有一个指向该文件的硬链接,因此它不是zoneinfo路径中原始文件的链接。
在现代Fedora上,您可以使用timedatectl
timedatectl list-timezones或
timedatectl set-timezone time_zone否则,只需在/usr/ -sf /zoneinfo/ overwriting /etc/localtime中使用适当的zonefile (备份,以防万一!)
我怀疑这种情况一定是有问题的,因为软件包更新可能会改变时间规则,所以最好使用链接而不是副本。但这是Fedora 17,这是10年old...so,它没有得到任何更新;)
https://unix.stackexchange.com/questions/662850
复制相似问题