Vagrant 如何在运行时从来宾中禁用VirtualBox时间同步

Vagrant 如何在运行时从来宾中禁用VirtualBox时间同步,vagrant,virtualbox,virtualization,Vagrant,Virtualbox,Virtualization,我有一个运行Centos 6.5的VirtualBox VM,安装了来宾添加,我需要能够在来宾中随意禁用和启用时间同步。默认情况下,来宾每10秒与主机同步一次时间[1],这是内置于来宾添加中的功能 有几种方法可以禁用时间同步,但它们不足以满足我的需要: 在VM启动时禁用时间同步: vboxmanagesetextradata“VM name”“VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled”1 在运行时从VM中禁用来宾添加: su

我有一个运行Centos 6.5的VirtualBox VM,安装了来宾添加,我需要能够在来宾中随意禁用和启用时间同步。默认情况下,来宾每10秒与主机同步一次时间[1],这是内置于来宾添加中的功能

有几种方法可以禁用时间同步,但它们不足以满足我的需要:

  • 在VM启动时禁用时间同步:

    vboxmanagesetextradata“VM name”“VBoxInternal/Devices/VMMDev/0/Config/GetHostTimeDisabled”1

  • 在运行时从VM中禁用来宾添加:

    sudo服务vboxadd服务站

  • 它们不适合我的原因是:

  • 第一个选项只在启动时起作用-我需要能够在运行时这样做
  • 第二个选项停止来宾添加中我需要的其他函数
  • 运行
    sudo VBoxControl guestproperty enumerate
    时,我看不到任何与时间同步相关的内容

    因此…一种在VirtualBox VM中禁用和启用时间同步的方法,而无需禁用
    vboxadd服务
    服务请:)

    [1] -第9.13.4节

    这一节对我有用:


    但我有WindowsGuest,注册表中的更改是使其正常工作所必需的。我不知道在guest CentOS系统中什么等同于windows注册表设置。

    您应该能够在客户端上编辑
    vboxadd服务
    脚本,并添加
    --禁用timesync
    选项。然后,应禁用sudo服务vboxadd服务重启和时间同步


    另请参见

    我有一个用vagrant构建的ubuntu/trusty64虚拟机。我必须在虚拟机上的virtualbox来宾添加中关闭时间同步。为此,我将VBOX_OPTS添加到/etc/init.d/virtualbox-guest-utils,如下所示:

    编辑/etc/init.d/virtualbox-guest-utils插入以下行:

    if [ -n "$2" ]; then
    
     VBOX_OPTS="$VBOX_OPTS $2"
    
    fi
    
    修改此行:

    start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/VBoxService -- $VBOX_OPTS
    
    现在停止并像这样启动服务

    sudo service virtualbox-guest-utils stop
    sudo service virtualbox-guest-utils start --disable-timesync
    
    现在我可以将日期设置为我需要的日期,直到我重新启动机器

    date -s "2024-02-22 22:41:49,332" && date --rfc-3339=ns
    date
    Sat Feb 22 23:27:31 EST 2024
    

    VirtualBox目前没有这方面的功能,但您可以使用它。