运行 timedatectl 但它没有更新系统时区

运行 timedatectl 但它没有更新系统时区

我正在尝试将系统时间设置为 UTC,这样当我登录并运行date或运行要求当前时间的程序(例如python -c 'import datetime; print datetime.datetime.now()')时,它们会返回 UTC 时间。根据搜索和https://askubuntu.com/a/524362,我期望当我跑步时

sudo timedatectl set-timezone UTC

系统时间将设置为 UTC。当我运行该程序时,它以 0 退出并timedatectl status打印以下输出:

$ timedatectl status
      Local time: Wed 2016-03-16 14:31:50 UTC
  Universal time: Wed 2016-03-16 14:31:50 UTC
        RTC time: Wed 2016-03-16 14:31:49
       Time zone: UTC (UTC, +0000)
 Network time on: yes
NTP synchronized: yes
 RTC in local TZ: no

但是,当我注销、重新登录并运行时date,我仍然会在 EDT 中获得一个值:

$ date
Wed Mar 16 10:31:32 EDT 2016

我究竟做错了什么?

答案1

如果你不介意获得一个交互式应用程序,

$ sudo dpkg-reconfigure tzdata

至于timedatectl失败的原因,请查看系统设置中的 GUI 时间/日期配置选项。可能是某些Use network time设置阻止了它。

另一种替代方法是:

$ sudo ln -sf /usr/share/zoneinfo/Etc/GMT$offset /etc/localtime,其中$offset是与 GMT(UTC) 时间的偏移量。由于您需要 UTC,

$ sudo ln -sf /usr/share/zoneinfo/Etc/GMT /etc/localtime

相关内容