我需要在 vagrant/virtualbox vm 上选择性地禁用主机时间同步。我可以像这样在主机上毫无问题地做到这一点:
$ VBoxManage setextradata <name> \
> "VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled" "1"
问题是我只需要在来宾虚拟机中完成一些工作时禁用同步。具体来说,单元测试作业需要能够以GetHostTimeDisabled
编程方式切换值,从而有效地将虚拟机系统时间的完全控制权交给测试作业。
我考虑过在单元测试作业中通过 ssh 运行 VBoxManage 命令,但这带来了额外的困难。例如,将无密码登录设置为我的本地计算机作为 vagrant 用户。
我为 vm 启用了 ssh 代理转发,并确认它可以正常工作。除非有人对“更好”的方式提出建议,否则我会很感激一些帮助,以了解如何以 vagrant 用户身份从 vm(ubuntu linux)SSH 回到主机(OSX)。理想情况下,我希望它对流浪者的所有用户都一样。也许以某种方式使用转发代理?
也许有一种方法可以在来宾上操纵 VBoxService 以暂时禁用时间同步?