如何使 VirtualBox VM(运行 Ubuntu)在恢复其状态时运行命令?

如何使 VirtualBox VM(运行 Ubuntu)在恢复其状态时运行命令?

我在 MacBook Pro 主机上运行一些 Ubuntu VM。

每当我暂停虚拟机或将其状态保存到磁盘时,下次重新启动它时,系统时钟就会不同步。

有没有办法让虚拟机知道它刚刚恢复,并运行命令?(例如,ntpdate -u time.nist.gov以 root 身份运行就可以了)

我尝试修改中的脚本/etc/pm/sleep.d,但这些脚本似乎没有在 VM 暂停/恢复时被调用。

答案1

对于此特定用途,Guest Additions 应该自动同步虚拟机的时钟。(请参阅“时间同步”http://www.virtualbox.org/manual/ch04.html或者如果你想要自定义它,http://www.virtualbox.org/manual/ch09.html#changetimesync) 当在主机上使用比 VirtualBox 版本更旧的客户机添加版本时,此更新可能已停止工作。

要安装或更新 Guest Additions,请使用主机上的相关菜单命令安装 Guest Additions CD 映像,然后在客户机上运行 CD 中的脚本。有关详细信息,请参阅以下说明http://www.virtualbox.org/manual/ch04.html#idp11850096

答案2

最简单的解决方案是在服务器上安装 DKMS,它可以同步时间并执行许多其他有用的操作。这在我的 OSX 系统上运行,运行带有 Ubuntu VM Guest 的 VirtualBox。

我需要做的就是在我的虚拟机上运行这个:

sudo apt-get install virtualbox-guest-dkms
sudo reboot

人们可能需要适合其 Linux 版本的不同软件包。

Ubuntu DKMS 参考:https://help.ubuntu.com/community/DKMS

答案3

如果您愿意,您可以在 Linux 中使用 crontab,它不是一个完整的修复程序,但您可以将其设置为每 5 分钟运行一次,这将执行您需要的命令,从而使用服务器更新时间。

博客文章演示如何使用 crontab。您还可以查看Cron如何操作@Ubuntu 文档

它可能对你有用。

相关内容