在 Linux 系统中修改为中国区域时间(即 Asia/Shanghai 时区,对应 UTC+8),需分「设置时区」和「同步时间」两步操作,确保时间准确且符合中国区域标准。以下是详细步骤,适用于主流 Linux 发行版(如 CentOS、RHEL、Ubuntu、Debian 等)。
一、核心概念:中国区域时间标准
中国统一使用 东八区时间(UTC+8),对应的 Linux 时区标识符为 Asia/Shanghai(部分系统也支持 Asia/Beijing,但 Asia/Shanghai 是更标准的官方标识符)。
修改时间的核心是:先设置正确时区,再通过时间同步服务(如 NTP)确保时间精准,避免手动修改时间后因系统漂移导致偏差。
二、步骤 1:设置中国时区(Asia/Shanghai)
方法 1:通用命令 timedatectl(推荐,适用于 systemd 系统)
现代 Linux 系统(如 CentOS 7+、Ubuntu 16.04+)默认使用 systemd 管理服务,timedatectl 是系统自带的时间管理工具,操作简单且生效持久。
查看当前时区和时间状态
先确认当前配置,判断是否需要修改:
timedatectl status
- 若输出中 Time zone 显示 Asia/Shanghai,则时区已正确;若显示 UTC 或其他时区,则需修改。
列出所有可用时区(可选,确认中国时区存在)
查看系统是否包含 Asia/Shanghai 时区(通常默认包含):
timedatectl list-timezones | grep Asia/Shanghai
若输出 Asia/Shanghai,说明时区文件存在,可直接设置。
设置为中国时区(Asia/Shanghai)
执行以下命令,立即生效且重启后不丢失:
sudo timedatectl set-timezone Asia/Shanghai
验证时区设置
再次执行 timedatectl status,确认 Time zone 已变为 Asia/Shanghai (CST, +0800)(CST 即中国标准时间)。
步骤 2:同步时间(确保时间精准,避免手动修改偏差)
1:使用 chrony(推荐,systemd 系统默认服务)
chrony 是比传统 ntpd 更轻量、更适合不稳定网络的时间同步工具,CentOS 8+、Ubuntu 20.04+ 默认预装。
Ubuntu/Debian:
sudo apt update && sudo apt install chrony -y
配置中国 NTP 服务器(关键)
默认 chrony 可能使用国外服务器,同步速度慢,需修改配置文件 /etc/chrony.conf,添加国内优质 NTP 服务器(如阿里云、腾讯云):
sudo vim /etc/chrony.conf
在文件开头添加或替换以下服务器地址(注释原有 pool 开头的国外服务器):
# 中国阿里云 NTP 服务器
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
# 中国腾讯云 NTP 服务器
server time1.cloud.tencent.com iburst
server time2.cloud.tencent.com iburst
# 中国科学院 NTP 服务器
server ntp.ntsc.ac.cn iburst
- iburst:表示启动时快速同步,减少等待时间。
重启 chrony 服务并设置开机自启
# 重启服务
sudo systemctl restart chronyd
# 设置开机自启
sudo systemctl enable chronyd
验证时间同步状态
执行以下命令,查看同步是否成功:
chronyc sources -v
- 若输出中 S 列显示 ^*(如 ^* ntp.aliyun.com),说明已成功同步到该服务器;
- 执行 date 命令,确认时间与当前中国标准时间一致。
最终验证:确认中国区域时间生效
执行以下命令,若输出包含 CST(中国标准时间)且时间与当前中国时间一致,则配置成功:
date
示例正确输出:
Thu Sep 18 16:35:22 CST 2025
常见问题:
一、设置自动启动systemd 服务文件(关键步骤)
1. 创建 chronyd.service 服务文件
执行以下命令,用 vim 编写标准的 chronyd 服务配置:
sudo vim /usr/lib/systemd/system/chronyd.service
2. 粘贴服务文件内容(通用模板,适配主流 Linux 发行版)
将以下内容完整复制到 vim 中(按 i 进入编辑模式,粘贴后按 Esc,输入 :wq 保存退出):
[Unit]
Description=NTP client/server
Documentation=man:chronyd(8) man:chrony.conf(5)
After=network.target
[Service]
Type=forking
PIDFile=/run/chronyd.pid
ExecStart=/usr/sbin/chronyd -d -s -p /run/chronyd.pid
ExecStopPost=/usr/libexec/chrony-helper remove-dhcp-servers
PrivateTmp=yes
[Install]
WantedBy=multi-user.target
- 说明:该配置适配 chronyd 常规路径(/usr/sbin/chronyd),包含服务启动、停止逻辑及开机自启依赖。
3. 重新加载 systemd 配置并验证服务
服务文件创建后,需让 systemd 重新识别配置,再测试服务是否能正常启动:
# 1. 重新加载 systemd 配置(必须执行,否则不识别新创建的服务文件)
sudo systemctl daemon-reload
# 2. 启动 chronyd 服务
sudo systemctl start chronyd
# 3. 查看服务状态(确保显示 active (running))
sudo systemctl status chronyd
- 如果状态为 active (running):说明服务修复成功;


