Debian 12 设置中国时区教程
在部署服务器或开发环境时,时区设置往往会影响日志时间、计划任务执行时间等。如果你使用的是 Debian 12,默认时区可能不是中国时区(Asia/Shanghai)。本文将介绍几种方法来快速设置中国时区。
1️⃣ 查看当前时区
首先,使用以下命令查看系统当前时区:
timedatectl
输出示例:
Local time: Fri 2025-09-19 17:00:00 JST
Universal time: Fri 2025-09-19 08:00:00 UTC
RTC time: Fri 2025-09-19 08:00:00
Time zone: Asia/Tokyo (JST, +0900)
System clock synchronized: yes
NTP service: active
RTC in local TZ: no
可以看到当前时区为 Asia/Tokyo
,我们需要改成 Asia/Shanghai
。
2️⃣ 使用 timedatectl
修改时区(推荐)
在 Debian 12 上,最简单的方法是使用 timedatectl
:
sudo timedatectl set-timezone Asia/Shanghai
再次查看:
timedatectl
输出应类似:
Time zone: Asia/Shanghai (CST, +0800)
说明时区已设置成功。
3️⃣ 手动修改 /etc/localtime
如果你的系统没有 systemd
(极少情况),也可以通过手动方式修改:
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
同时更新 /etc/timezone
文件:
echo "Asia/Shanghai" | sudo tee /etc/timezone
然后重启 cron
、rsyslog
等依赖时区的服务:
sudo systemctl restart cron
sudo systemctl restart rsyslog
4️⃣ 验证时间
执行以下命令:
date
输出应类似:
Fri Sep 19 17:00:00 CST 2025
CST
表示 China Standard Time,说明已经切换成功。
5️⃣ 常见问题
-
时间不准:可以使用
ntp
或systemd-timesyncd
同步时间。启用时间同步:
sudo timedatectl set-ntp true
-
Docker 容器时区不对:需要在容器内挂载宿主机的时区文件,例如:
docker run -v /etc/localtime:/etc/localtime:ro -v /etc/timezone:/etc/timezone:ro your_image
📌 总结
在 Debian 12 中设置中国时区主要有两种方式:
- 推荐:使用
timedatectl set-timezone Asia/Shanghai
- 手动:修改
/etc/localtime
和/etc/timezone
配置完成后,务必检查 date
输出和 timedatectl
状态,确保系统时区已正确切换。
✅ 现在你的 Debian 12 已经成功设置为 中国时区(Asia/Shanghai)!