众所周知,为了设置新的时区需要执行以下步骤
例如当我们想要 UTC 时间时
unlink /etc/localtime
ln -s /usr/share/zoneinfo/UTC /etc/localtime
所以我们创建从 UTC 到 /etc/localtime 的符号链接
我只是想知道为什么我们需要创建链接,
不仅仅是复制文件
从/usr/share/zoneinfo/UTC 到 /etc/localtime作为:
cp /usr/share/zoneinfo/UTC /etc/localtime
复制文件有什么问题吗?
答案1
您在标签中提到了 RHEL,所以我假设这就是您正在使用的。
对于 RHEL 6 及更早版本,当您升级tzdata
软件包时,它会触发tzdata-update
.这会读取/etc/sysconfig/clock
变量,并根据需要ZONE
进行更新。/etc/localtime
这意味着,如果你改变现状,/etc/localtime
那么你必须/etc/sysconfig/clock
也要进行更改,否则下次有tzdata
补丁时您的更改可能会丢失。
对于 RHEL7,您应该用来timedatectl set-timezone
管理时区。
# date
Wed Jul 20 12:34:51 EDT 2016
# timedatectl set-timezone UTC
# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 25 Jul 20 16:35 /etc/localtime -> ../usr/share/zoneinfo/UTC
# date
Wed Jul 20 16:35:07 UTC 2016
# timedatectl set-timezone America/New_York
# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 38 Jul 20 12:35 /etc/localtime -> ../usr/share/zoneinfo/America/New_York
# date
Wed Jul 20 12:35:18 EDT 2016