在 Linux 服务器上设置正确的时区对于准确的系统日志、正确执行依赖于系统时间的 cron 作业以及跨服务的一致性至关重要。 openSUSE 可以很容易地从命令行配置系统时区,而无需使用图形工具。
在 openSUSE 上更改时区
步骤 1。检查当前时区。
要验证为系统设置的当前时区,请使用 timedatectl status
命令:
timedatectl status
这将打印出以下详细信息:
Time zone: Europe/Amsterdam (CET, +0100)
在进行更改之前,请记下当前设置。
第2步。更改 openSUSE 上的时区。
要设置新的时区, 请以 root 身份或使用 sudo 使用 timedatectl set-timezone
命令:
sudo timedatectl set-timezone America/New_York
将 America/New_York
替换为您要使用的时区。
openSUSE 可识别 IANA 时区数据库,该数据库遵循区域/位置命名约定。一些例子包括:
时区 | 描述 | 与 UTC 的偏移量 |
---|---|---|
美洲/New_York | 东部时间 | 世界标准时间-5 |
欧洲/伦敦 | 格林威治标准时间 | 世界标准时间+0 |
亚洲/东京 | 日本标准时间 | UTC+9 接口 |
要查看系统可用时区的完整列表,请使用:
timedatectl list-timezones
可以对输出进行筛选,使搜索更容易:
timedatectl list-timezones | grep Tokyo
第 3 步。验证时区更改。
检查新时区是否正确配置:
timedatectl status
输出应显示更新的时区。您还可以使用 date
命令打印当前日期和时间以进行仔细检查。
第 4 步。配置硬件时钟设置。
正确配置硬件时钟以进行时区更改以持续重新启动非常重要:
- 检查硬件时钟
使用 timedatectl
查看硬件时钟是否设置为 UTC 或本地时间:
timedatectl
在本地 TZ 线路中查找 RTC
。
- 将硬件时钟设置为 UTC
对于使用 Windows 双启动的系统,最好将硬件时钟设置为 UTC:
timedatectl set-local-rtc 0
硬件时钟现在将同步到 UTC 而不是本地时间。
第 5 步。疑难解答提示。
如果您在更改时区时遇到问题,以下是一些故障排除提示:
- 确保您尝试设置的时区有效。您可以参考 tz 数据库获取有效时区的列表。
- 如果您使用的是 openSUSE,并且更改没有持久化,请确保您没有使用 shell 环境变量覆盖时区。
- 如果
timedatectl
命令未按预期工作,请检查 NTP 服务是否处于活动状态。如果是,您可能需要禁用它。
感谢您使用本教程更改 openSUSE 系统上的时区。有关其他或有用的信息,我们建议您查看 openSUSE 官方网站。