我以前能够编辑 /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 或其他任何工具自己管理符号链接。