为什么我需要使用 systemd 在 RHEL7 中设置时区?

为什么我需要使用 systemd 在 RHEL7 中设置时区?

我以前能够编辑 /etc/sysconfig/clock,但现在我需要使用 timedatectl,我相信它是一个 systemd 命令。

这和启动系统有什么关系?

答案1

只有Linux 系统上有关用户进程的系统时区的真实来源,即/etc/localtime。事实上,timedatectl它正在管理该文件,并创建指向相应 zoneinfo 文件的符号链接。

[root@yaungol ~]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 23 Oct 17 00:55 /etc/localtime -> ../usr/share/zoneinfo/UTC
[root@yaungol ~]# timedatectl set-timezone Europe/London
[root@yaungol ~]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 35 Feb 12 09:27 /etc/localtime -> ../usr/share/zoneinfo/Europe/London
[root@yaungol ~]# timedatectl set-timezone UTC
[root@yaungol ~]# ls -l /etc/localtime
lrwxrwxrwx. 1 root root 25 Feb 12 09:27 /etc/localtime -> ../usr/share/zoneinfo/UTC

编辑/etc/sysconfig/clock从一开始就是一个糟糕的设计,因为它是多余的(如前所述,/etc/localtime这是系统真正使用的!),现在它消失了,这很好。

如果您不想使用,timedatectl您可以随时使用 puppet、ansible 或其他任何工具自己管理符号链接。

相关内容