在 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 一起提供的发行版,对于那些使用 的人来说systemd
,systemd-timesyncd
默认情况下是启用的。
systemd-timesyncd
还可以让您的时间保持最新状态。您还需要停止/禁用它。
您可以通过以下方式暂时停止它:
sudo service systemd-timesyncd stop
最近,VirtualBox Guest Utilities 的 Debian 维护者已经做了来宾实用程序服务与来宾实用程序服务发生冲突,systemd-timesyncd.service
因此如果运行来宾实用程序,systemd 将不会运行后者。Debian 用户也希望 chrony 和 ntpd 服务也有同样的功能。