在 debian 8 中手动设置日期

在 debian 8 中手动设置日期

在 Debian 8 中设置日期时,它会在几秒钟后恢复为当前时间。如何在 Debian 8 中实际手动设置日期和时间? NTP 未运行。

+ set -x
+ sudo timedatectl set-time 2000-01-01
+ timedatectl
      Local time: Sat 2000-01-01 00:00:00 CET
  Universal time: Fri 1999-12-31 23:00:00 UTC
        RTC time: Fri 1999-12-31 23:00:00
       Time zone: Europe/Vienna (CET, +0100)
     NTP enabled: no
NTP synchronized: no
 RTC in local TZ: no
      DST active: no
 Last DST change: DST ended at
                  Sun 1999-10-31 02:59:59 CEST
                  Sun 1999-10-31 02:00:00 CET
 Next DST change: DST begins (the clock jumps one hour forward) at
                  Sun 2000-03-26 01:59:59 CET
                  Sun 2000-03-26 03:00:00 CEST
+ date
Sat Jan  1 00:00:00 CET 2000
+ sleep 10
+ date
Fri Sep  7 23:14:18 CEST 2018

答案1

通常,虚拟机可以通过虚拟化管理程序按时同步(取决于配置和虚拟化技术以及安装的工具)

您的虚拟机正在通过 Virtualbox Hypervisor 同步时间。

因此,为了不断调整时间以适应虚拟化主机的时间,您必须禁用该同步。

您可以在命令行中暂时禁用它,如下所示:

VBoxManage setextradata "VMname" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1

其中 VMName 是 VirtualBox 已知的虚拟机名称。

当您不重新启动虚拟机时,它将停止时间同步。

要永久执行此设置,您必须停止该 VM,编辑 yourVMname.vbox 并将此条目添加到该部分:

<ExtraDataItem name="VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" value="1"/>

Jessie 也是一个默认随 systemd 一起提供的发行版,对于那些使用 的人来说systemdsystemd-timesyncd默认情况下是启用的。

systemd-timesyncd还可以让您的时间保持最新状态。您还需要停止/禁用它。

您可以通过以下方式暂时停止它:

sudo service systemd-timesyncd stop

最近,VirtualBox Guest Utilities 的 Debian 维护者已经做了来宾实用程序服务与来宾实用程序服务发生冲突,systemd-timesyncd.service因此如果运行来宾实用程序,systemd 将不会运行后者。Debian 用户也希望 chrony 和 ntpd 服务也有同样的功能。

相关内容