By 大伟哥 |
需求:大伟哥在 Virtualbox 虚拟机里面运行着 Debian Linux 下的 ODOO 服务, 因为业务补录的原因,希望把系统的时间修改成以前业务发生的时间。
解决思路1:
运行 date 命令,修改linux下的时间:
sudo date -s "20230529 10:18:00"
问题:运行 date 命令修改时间后,过不了几秒钟,系统就会自动进行时间同步,修改成当前时间, 这个方法无法解决。
解决思路2:
系统不是自动进行时间同步吗?我们关掉 Linux 的时间同步功能不就行了?
sudo timedatectl set-ntp false Failed to set ntp: NTP not supported
啥?没用ntp服务啊?再看看有关的系统状态:
timedatectl status Local time: Fri 2023-07-07 21:06:56 CST Universal time: Fri 2023-07-07 13:06:56 UTC RTC time: Fri 2023-07-07 13:06:57 Time zone: Asia/Shanghai (CST, +0800) System clock synchronized: no NTP service: n/a RTC in local TZ: no
根本不关ntp服务的事,这个方法毛线用都没有。
解决思路3:
突然想到,Debian 是运行在 Virtualbox 虚拟机里面啊,会不会是Virtualbox 自动在 Host 和 Guest 之间进行时间同步呢?
百度到一篇有关 Virtualbox 时间同步的帖子:VirtualBox 虚拟机与宿主机时间同步。 按照这里面讲的,停止Virtualbox 宿主机和虚拟机的时间同步:
.\VBoxManage.exe guestproperty set <uuid|vmname> --timesync-set-stop
重启虚拟机,再测试一下,一开始发现有用,没有马上同步时间,不过还是高兴的太早了,过了几分钟,又不行了,问题还是没解决。继续搜索,找到另外一个办法:
.\VBoxManage setextradata "VM name" "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" 1
这个方法,经过测试发现有效果了,不会再自动同步了。
接下来就是 date -s 开始时光回流,流着泪为之前偷过的懒买单,哈哈
- 61 阅读
添加新评论