为什么我不应该使用timedatectl来设置时区

时间:2016-07-29 09:39:03

标签: centos7

当我使用timedatectl设置时区时,它会发生

[root@localhost ~]# timedatectl set-timezone "America/New_York"
Failed to set time zone: Access denied

这是我的主持人信息

Static hostname: rolin
Icon name: computer-vm
Chassis: vm
Machine ID: 699591c5339c2ae6d7e7b25151eaa987
Boot ID: 40dc52c07c85444c9514f7d92a24448e
Virtualization: kvm
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-327.18.2.el7.x86_64
Architecture: x86-64

我现在能做什么?

3 个答案:

答案 0 :(得分:3)

此问题的根本原因可能是SELinux标签问题。解决方法是重新标记/ etc目录:

restorecon -Rv / etc

然后重新运行timedatectl命令。

来源:https://access.redhat.com/solutions/3366211(链接需要RedHat登录)。

或者,如果由于某种原因而不能这样做,您可以暂时将SELinux设置为许可模式,更新时区,然后重新启用SELinux。

但是,第二种方法不能解决潜在的问题。 / etc中的标签错误可能会导致其他问题。

答案 1 :(得分:1)

我发现我的/ etc / localtime不是指向/ usr / share / zoneinfo / ...的符号链接。

所以我改变了这个文件,它有效:

lrwxrwxrwx. /etc/localtime ->../usr/share/zoneinfo/Asia/Shanghai

答案 2 :(得分:0)

我使用此命令以cent os 7更改我的家用服务器的时区:

rm /etc/localtime

rm:删除常规文件`/ etc / localtime'

ln -s /usr/share/zoneinfo/Europe/Rome localtime

日期 然后您会看到它已更改。