如何强制 debian 使用 UTC

如何强制 debian 使用 UTC

使用 debootstrap 手动安装后,我的服务器始终使用本地时间。我已经尝试将时区设置为 UTC,但没有成功。使用以下命令设置时区:

cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime

我想强制服务器始终使用 UTC 作为时区。

日期

Mo 4. Jun 13:08:51 CEST 2018

日期-u

Mo 4. Jun 11:09:07 UTC 2018

ls -al /etc/本地时间

lrwxrwxrwx 1 root root 23 Jun  4 13:09 /etc/localtime -> /usr/share/zoneinfo/UTC

猫 /etc/时区

Etc/UTC

时间日期控件

Local time: Di 2018-06-05 14:52:12 CEST
Universal time: Di 2018-06-05 12:52:12 UTC
RTC time: Di 2018-06-05 12:52:12
Time zone: Etc/UTC (CEST, +0200)
Network time on: yes
NTP synchronized: yes
RTC in local TZ: no

我已经尝试通过以下命令配置时区,但没有效果:

dpkg-reconfigure tzdata
cp /usr/share/zoneinfo/UTC /etc/localtime
ln -s /etc/localtime /usr/share/zoneinfo/UTC
ln -s /etc/localtime /usr/share/zoneinfo/Etc/UTC

我看不到任何警告或错误消息。

您知道时区错误的原因是什么吗?

答案1

问题可能出在这个链接:

lrwxrwxrwx 1 root root 23 Jun  4 13:09 /etc/localtime -> /usr/share/zoneinfo/UTC

如果此链接出现在cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime命令之前,则实际发生的情况是/usr/share/zoneinfo/UTC文件被 file 的内容覆盖/usr/share/zoneinfo/Europe/Berlin

这将导致任何实际使用文件内容的内容/etc/localtime使用 CET/CEST 时区,但任何仅通过检查来查找时区的内容姓名链接文件的时区将报告为“UTC”。

要解决这个问题:

apt-get --reinstall install tzdata
ln -sf /usr/share/zoneinfo/UTC /etc/localtime
update-initramfs -u

请注意最后一个命令:更改系统默认时区后,您应该更新 initramfs,以确保在系统引导顺序中早期启动的进程也将使用正确的时区定义。

相关内容