共计 1653 个字符,预计需要花费 5 分钟才能阅读完成。
centos7 如何修改时区? 在 CentOS 上,系统的时区在安装期间已进行设置,但也可以在以后更改所在时区。对于许多与系统相关的任务和流程,使用正确的时区非常重要。例如,cron 守护程序使用系统的时区执行 cron 作业,日志文件中的时间戳基于同一系统的时区。
本教程介绍如何在 CentOS 7 上设置或更改时区。相同的说明适用于任何基于 Ubuntu 的发行版,包括 RedHat7,Fedora 和 Open SUSE。
前提条件
您需要以具有 sudo 权限的用户身份登录才能更改系统的时区。
检查当前时区
在 CentOS 和其他现代 Linux 发行版中,您可以使用 timedatectl 命令显示和设置当前系统的时间和时区。
timedatectl
如下面的输出所示,系统的时区设置为 UTC:
Local time: Wed 2019-02-06 22:43:42 UTC
Universal time: Wed 2019-02-06 22:43:42 UTC
RTC time: Wed 2019-02-06 22:43:42
Time zone: Etc/UTC (UTC, +0000)
NTP enabled: no
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
配置系统时区是通过符号链接 /etc/localtime 到 /usr/share/zoneinfo 目录中的二进制时区标识符来设置。因此,你可以使用 ls 命令显示符号链接指向的路径,以系统时区:
ls -l /etc/localtime
lrwxrwxrwx. 1 root root 29 Dec 11 09:25 /etc/localtime -> ../usr/share/zoneinfo/Etc/UTC
更改 CentOS 中的时区
在更改时区之前,您需要找到要使用的时区的长名称。时区命名约定通常使用“区域 / 城市”格式。
要列出所有可用时区,您可以使用 ls 命令列出 /usr/share/zoneinfo 目录中的文件或使用 timedatectl 命令。
timedatectl list-timezones
…
Europe/Oslo
Europe/Paris
Europe/Podgorica
Europe/Prague
Europe/Riga
Europe/Rome
Europe/Samara
…
确定时区与您的位置准确无误后,请以 sudo 用户身份运行以下命令:
sudo timedatectl set-timezone your_time_zone
例如,要将系统的时区更改为 Europe/Rome:
sudo timedatectl set-timezone Europe/Rome
运行 timedatectl 命令以验证更改:
timedatectl
Local time: Thu 2019-01-24 00:27:43 CET
Universal time: Wed 2019-01-23 23:27:43 UTC
RTC time: Wed 2019-01-23 23:27:44
Time zone: Europe/Rome (CET, +0100)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
通过创建符号链接更改时区
如果您运行的是较旧版本的 CentOS,并且系统上没有 timedatectl 命令,则可以通过符更改号链接 /usr/share/zoneinfo 目录中的时区来更改时区 /etc/localtime。
删除当前 /etc/localtime 文件或符号链接:
sudo rm -rf /etc/localtime
确定要配置的时区并创建符号链接:
sudo ln -s /usr/share/zoneinfo/America/Toronto /etc/localtime
您可以通过列出 /etc/localtime 文件或运行 date 命令来验证它:
date
Wed Feb 6 17:52:58 EST 2019
结论:
在本指南中,我们向您展示了更改 CentOS 系统的时区。如果您有任何疑问,请随时发表评论。