时区
Alpine 系统
Alpine 基于 BusyBox,默认使用 busybox-timezone 工具管理时区,操作步骤如下:
查看当前时区
# 方法1:通过日期命令查看(包含时区信息)
date
# 示例输出:Wed Oct 18 10:30:00 UTC 2023(UTC 表示当前为世界标准时间,未修改时区)
# 方法2:查看时区配置文件
cat /etc/timezone # 若文件存在,直接显示时区;若不存在,默认为 UTC修改为东八区
# 步骤1:安装时区依赖包(若未安装)
apk add -U tzdata
# 步骤2:设置时区为 Asia/Shanghai
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 步骤3:写入时区信息到 /etc/timezone(可选,部分应用依赖该文件)
echo "Asia/Shanghai" > /etc/timezone验证修改结果
date
# 正确输出示例:Wed Oct 18 18:30:00 CST 2023(CST 即中国标准时间,东八区)Ubuntu & Debian 系统
Ubuntu(16.04+)和 Debian(9+)均支持 timedatectl 工具(系统自带),操作步骤完全一致:
查看当前时区
# 方法1:使用 timedatectl(推荐,直观显示时区)
timedatectl
# 示例输出:Time zone: UTC (UTC, +0000)(当前时区为 UTC)
# 方法2:通过日期命令查看
date
# 示例输出:Wed Oct 18 10:35:00 UTC 2023修改为东八区
# 方法1:使用 timedatectl 直接设置(推荐,无需手动创建链接)
sudo timedatectl set-timezone Asia/Shanghai
# 方法2:手动创建时区软链接(兼容旧版本系统)
sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
sudo dpkg-reconfigure -f noninteractive tzdata # 刷新时区配置(可选)验证修改结果
timedatectl
# 正确输出示例:Time zone: Asia/Shanghai (CST, +0800)
date
# 正确输出示例:Wed Oct 18 18:35:00 CST 2023CentOS 7 系统
CentOS 7 支持 timedatectl(系统自带),也可通过手动修改时区文件实现:
查看当前时区
# 方法1:使用 timedatectl
timedatectl
# 示例输出:Time zone: UTC (UTC, +0000)
# 方法2:查看 /etc/localtime 软链接指向
ls -l /etc/localtime
# 示例输出:lrwxrwxrwx 1 root root 25 Oct 18 10:00 /etc/localtime -> /usr/share/zoneinfo/UTC修改为东八区
# 方法1:使用 timedatectl(推荐)
sudo timedatectl set-timezone Asia/Shanghai
# 方法2:手动替换时区软链接(兼容无 timedatectl 场景)
sudo rm -rf /etc/localtime # 删除原有软链接
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime验证修改结果
timedatectl
# 正确输出示例:Time zone: Asia/Shanghai (CST, +0800)
date
# 正确输出示例:Wed Oct 18 18:40:00 CST 2023Rocky Linux 9 系统
Rocky Linux 9 基于 RHEL 9,默认自带 timedatectl,操作与 CentOS 7 类似但更简洁:
查看当前时区
timedatectl
# 示例输出:Time zone: UTC (UTC, +0000)修改为东八区
sudo timedatectl set-timezone Asia/Shanghai验证修改结果
timedatectl
# 正确输出示例:Time zone: Asia/Shanghai (CST, +0800)
date
# 正确输出示例:Wed Oct 18 18:45:00 CST 2023常见问题与注意事项
-
权限不足报错:操作时若提示 “Permission denied”,在命令前添加
sudo(需当前用户有 sudo 权限),或切换至 root 用户(su - root)。 -
时区文件不存在:若提示
/usr/share/zoneinfo/Asia/Shanghai不存在,需安装时区数据包:
-
Alpine:
apk add tzdata -
Ubuntu/Debian:
sudo apt install tzdata -
CentOS 7/Rocky 9:
sudo yum install tzdata
- 修改后时间不同步:可通过 NTP 同步时间(以
chrony为例):
# 安装 chrony(部分系统默认已安装)
sudo yum install chrony -y # CentOS 7/Rocky 9
sudo apt install chrony -y # Ubuntu/Debian
sudo apk add chrony -y # Alpine
# 启动并设置开机自启
sudo systemctl start chronyd
sudo systemctl enable chronyd
# 手动同步时间
sudo chronyc sources -v